2014-06-16 34 views
10

我想用FileOutputStream寫一個新行;我嘗試了以下方法,但它們都不工作:如何在Java中編寫新行FileOutputStream

encfileout.write('\n'); 
encfileout.write("\n".getbytes()); 
encfileout.write(System.getProperty("line.separator").getBytes()); 
+0

定義「不工作」。 –

+0

其不寫新行 –

+0

@PavanPatidar:它正在寫一個換行符。當然。 –

回答

7

它可能是一個查看器問題...嘗試在EditPlus或Notepad ++中打開文件。 Windows記事本可能無法識別其他操作系統的換行符。你現在在哪個程序中查看文件?

+0

問題解決了,謝謝泰迪.. –

9

這應該有效。可能你忘了撥打encfileout.flush()

但是,這不是寫文本的首選方式。你應該PrintWriter包裝你的輸出流,並享受其println()方法:

PrintWriter writer = new PrintWriter(new OutputStreamWriter(encfileout, charset)); 

或者您可以使用FileWriter,而不是FileOutputStream從開始:

FileWriter fw = new FileWriter("myfile"); 
PrintWriter writer = new PrintWriter(fw); 

現在只需撥打

writer.println(); 

當您完成工作時,請不要忘記撥打flush()close()

+0

我希望你不介意我添加了缺少的字符集參數。 –

+0

@ChristofferHammarström,非常感謝您的解決。 – AlexR

+0

謝謝,但這不是我正在尋找.. –