0

DataOutputStream我有一个使用 a和该方法将字符串写入文本文件的.writeBytes(String)方法。如果我写一个带有换行符的字符串,例如"I need \n help!",新行不会显示在记事本或其他基本文本编辑器中。但是,它确实出现在写字板、MS Word 等中。为什么会这样,我可以修复它吗?

4

2 回答 2

2

主要是通过使用真正的文本编辑器,记事本不是。

如果您不打算使用理解不同风格的文本编辑器,或者通过为您进行转换的东西过滤文件,则需要编写系统特定的换行符。

System.getProperty("line.separator");

这将为您提供特定于操作系统的行分隔符。它没有你想象的那么有用。

System.out.printf("%n");

这也是一样的(并且也可用String.format);也没有你想象的那么有用。它更像是一个编辑器,因为任何文件都可以存在于任何系统上,用任何编辑器进行编辑。

于 2011-11-30T03:37:55.957 回答
1

您应该使用System.getProperty("line.separator");而不是直接使用 \n。

于 2011-11-30T03:37:59.490 回答