所以我试图让我的程序输出一个包含名称列表的文本文件。有些名字有奇怪的字符,例如 Åström。
我已经从以“UTF-8”编码的网页中获取了这些名称列表,或者至少我很确定它确实如此,因为页面源代码说
“元http-equiv =“内容类型”内容=“text / html;字符集=UTF-8" / "
这是我到目前为止所尝试过的:
public static void write(List<String> list) throws IOException {
Writer out = new OutputStreamWriter(new FileOutputStream("test.txt"), "UTF-8");
try {
for (int i=0;i<list.size();i++) {
try {
byte[] utf8Bytes = list.get(i).getBytes("UTF-8");
out.write(new String(utf8Bytes, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
out.write(System.getProperty("line.separator"));
}
}
finally {
out.close();
}
}
我有点困惑为什么它不起作用。我得到的输出是“à…ström”,这很奇怪。
有人可以指出我正确的方向吗?谢谢!
在另一个不相关的注释中,除了笨重的方法之外,是否有一种更简单的方法可以将新行写入文本文件
out.write(System.getProperty("line.separator"));
我有?我在网上某处看到它并且有效,但我只是想知道是否有更干净的方法。
设置你的Eclipse > Preferences > General > Workspace > Text file encoding
为 UTF-8。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)