我需要以编程方式将一组 *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");
}
}