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