2012-02-28 126 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