我有一个方法,使用DataOutputStream
和.writeBytes(String)
方法将字符串写入文本文件。如果我使用换行符编写一个字符串,例如"I need \n help!"
,则新行不会显示在记事本或其他基本文本编辑器中。但是,它确实出现在写字板,MS Word等中。为什么这样,我可以修复它吗?
答案 0 :(得分:2)
主要是使用真实文本编辑器,而Notepad不是。
如果您不打算使用能够理解不同风格的文本编辑器,或者通过为您进行转换的内容过滤文件,则需要编写特定于系统的换行符。
System.getProperty("line.separator");
这将为您提供特定于操作系统的行分隔符。它没有你想象的那么有用。
System.out.printf("%n");
这样做也是如此(并且String.format
也可以使用);也没有你想象的那么有用。它更像是一个编辑器,因为任何系统都可以存在任何文件,可以使用任何编辑器进行编辑。
答案 1 :(得分:1)
您应该使用System.getProperty("line.separator");
而不是直接使用\ n。