用Java编写文本文件

时间:2011-11-30 03:33:39

标签: java text-files dataoutputstream

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

2 个答案:

答案 0 :(得分:2)

主要是使用真实文本编辑器,而Notepad不是。

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

System.getProperty("line.separator");

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

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

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

答案 1 :(得分:1)

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