我正在写java文件,通过
FileWriter fstream = new FileWriter("someFile.java");
BufferedWriter out = new BufferedWriter(fstream);
out.write(strContents);
// Close the output stream
out.close();但写完后,我发现它附加了一些方框形状的特殊字符,如[],但这些特殊字符只在特定的文本编辑器中可见,如EditPlus。
如何在写作时避免这些特殊字符,还是只针对某些编辑器。
发布于 2011-06-29 19:13:15
我的建议是避免完全使用FileWriter。它总是使用平台默认编码,这很少是一个好主意。
我建议使用包装在OutputStreamWriter中的FileOutputStream --然后你只需要指定一个合适的编码,比如UTF-8。显然,您仍然需要使用支持UTF-8的编辑器,并且您可能需要告诉它编码...但至少你的代码总是以相同的方式编写,而不管操作系统和系统属性如何。
发布于 2011-06-29 19:18:49
普通记事本应用程序不能显示文件中书写的特殊字符。你的代码没有任何问题。这是记事本的局限性。
https://stackoverflow.com/questions/6519671
复制相似问题