用Java改变现有文件的编码?

时间:2012-04-10 17:06:55

标签: java file encoding

我需要以编程方式将一组* nix脚本的编码从Java更改为UTF-8。我不会给他们写任何东西,所以我试图找到最简单,最快速的方法。文件不是太多而且不是那么大。我可以:

  • 使用将UTF-8设置为编码
  • 的OutputStream“写”空字符串
  • 由于我已经在使用FileUtils(来自Apache Commons),我可以读取这些文件的内容,将UTF-8作为编码传递

没什么大不了的,但之前有没有人遇到过这种情况?两种方法都有任何缺点吗?

1 个答案:

答案 0 :(得分:12)

根据要求,既然你正在使用commons io,这里是示例代码(错误检查风):

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;

public class Main {
    public static void main(String[] args) throws IOException {
        String filename = args[0];
        File file = new File(filename);
        String content = FileUtils.readFileToString(file, "ISO8859_1");
        FileUtils.write(file, content, "UTF-8");
    }
}