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

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

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

没什么大不了的,但是之前有没有人碰到这个案子? 两种方法都有任何缺点吗?

根据要求,既然您正在使用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"); } }