我有一个使用 DataOutputStream
和 .writeBytes(String)
方法将字符串写入文本文件的方法。如果我编写带有换行符的字符串,例如 "I need\n help!"
,则新行不会显示在记事本或其他基本文本编辑器中。但是,它确实出现在写字板、MS Word 等中。这是为什么?我可以修复它吗?
最佳答案
主要是使用真正的文本编辑器,而记事本则不然。
如果您不打算使用能够理解不同风格的文本编辑器,或者不打算通过为您进行转换的工具来过滤文件,则需要编写系统特定的换行符。
System.getProperty("line.separator");
这将为您提供特定于操作系统的行分隔符。它没有你想象的那么有用。
System.out.printf("%n");
这也是一样的(并且在String.format
中也可用);也没有你想象的那么有用。它更像是一个编辑器的东西,因为任何文件都可以存在于任何系统上,可以使用任何编辑器进行编辑。
关于java - 用 Java 写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8320812/