求大文本文件GBK转UTF8高效代码

laizhiming 发布于 2016/10/20 10:36
阅读 321
收藏 1

如题:请问有没有人写过类似的代码,求参考。

最好是scala语言或java语言,谢谢。

小文件的时候用的以下方式完全可以,大文件(几十GB+)就内存溢出了。

1. 假设你使用了Apache的Commons-io包 Commons IO - Commons IO Overview,可以使用如下代码:
import java.io.File
import org.apache.commons.io.FileUtils

val file = new File(filename)
content = FileUtils.readFileToString(file, "gbk")
FileUtils.write(file, content, "UTF-8")


2. 如果你用的是JAVA7:
import java.nio.file.{Paths, Files}

val content = io.Source.fromFile(filename, "gbk").mkString
Files.write(Paths.get(filename), content.getBytes("UTF8"))



加载中
1
宏哥
宏哥
iconv_convert
laizhiming
laizhiming
谢谢! iconv -f gbk -t utf-8 ./xxx.txt > ./xxx-utf8.txt linux下试了一下,的确很快。
返回顶部
顶部