2012-02-28 131 views
-1

例如,当,而不是让如何让我的java程序打印换行符这样的:输出到一个文本文件

output 

output 

output 

output 

我得到这个:

output output output output 

我试图添加的东西会写这样的后进入输出:

output.write("\n") 

但是,这并不做任何事情 任何SUG gestions ???

+0

两个输出之间有什么区别? – ankurtr 2012-02-28 21:34:46

+7

向我们显示您的代码。 – 2012-02-28 21:34:52

+0

你在窗户上吗?如果是这样,您可能需要'\ r \ n'而不是'\ n' – Jon 2012-02-28 21:34:52

回答

3

根据您使用的操作系统不同而不同。

更好的方法是使用PrintWriter来包装您的OutputStream并使用println()来代替,因为它会自动处理。

如果你真的坚持直接使用OutputStream.write()方法,你想要的是使用System.getProperty("line.separator");的结果作为行结束符。

您可以阅读一次private static final String EOL = System.getProperty("line.separator");并反复使用它,但这不是最佳实践。

这样,无论它运行在哪个操作系统上,您的程序都能正常工作。

+0

我认为'\ r \ n'是一个更简单的解决方案,但这更具有普遍性。 – Jon 2012-02-28 21:38:03

+1

@Jon你真的认为在Java中每个'.write()'末尾放置一个特定于平台的序列,而不是正确使用'.println()'或者系统属性那只是为了这个目的?真?真? – 2012-02-28 21:44:25