9

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

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

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

4

1 回答 1

14

根据要求,并且由于您使用的是 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");
    }
}
于 2012-04-10T19:05:13.717 回答