在写入java文件时添加特殊字符但在任何地方都不可见

Abh*_*ary 0 java special-characters

我正在写入一个java文件

               FileWriter fstream = new FileWriter("someFile.java");
                BufferedWriter out = new BufferedWriter(fstream);
                out.write(strContents);
                // Close the output stream
                out.close();
Run Code Online (Sandbox Code Playgroud)

但在写完之后我发现它附加了一些像[]这样的盒子形状的特殊字符,但这些特殊字符只能在特定的文本编辑器中看到,比如EditPlus.

如何在编写时避免使用这些特殊字符,或者仅限于某些编辑器.

Jon*_*eet 5

我的建议是避免FileWriter完全使用.它总是使用平台默认编码,这很少是一个好主意.

我建议使用FileOutputStream包装OutputStreamWriter- 然后你只需要指定一个合适的编码,如UTF-8.显然你仍然需要使用支持UTF-8的编辑器,你可能需要告诉它编码...但至少你会有代码总是以相同的方式写入,无论操作系统和系统属性如何.