【发布时间】:2015-01-15 08:00:34
【问题描述】:
当我在 Java 中创建一个使用 UTF-8 编码的文件,然后我在记事本或 Notepad++ 中打开它时,它说它是 ANSI 编码的。怎么来的?
File file = new File("path\to\file");
file.createNewFile();
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8));
writer.write("something");
writer.flush();
writer.close();
如果我写一些特殊字符,比如 Æ。 Ø或Å到文件,然后记事本说它是UTF-8编码的。这是为什么呢?
如果不包含特殊字符,ANSI 和 UTF-8 字节表示是否相同?
【问题讨论】:
-
由于你使用Java 7+,你应该使用java.nio.file而不是
File