我試圖將多行字符串打印到PrintWriter中,但它不能識別不同的行。無法用PrintWriter將多行字符串打印到文件中
我有這個字符串:「2 \ n0 0 1 string1 \ n0 2 1 string2」。
我預計將有到該文件中的文本是:
2
0 0 1 string1
0 2 1 string2
,但它實際上是:
20 0 1 string10 2 1string2
我的代碼是:
public void save(String str){
try{
PrintWriter out = new PrintWriter("file.txt");
out.println(str);
out.close();
System.out.print(str);
}catch(Exception e){System.out.println(e);}
}
它打印OK的安慰。
我正在使用BlueJ進行編碼。我的操作系統是W7,我用記事本打開了文件。
已解決!
使用「\ r \ n」而不是「\ n」正常工作!
你如何看待文件內容?你在使用什麼操作系統?您是否知道不同的操作系統將不同的字符視爲新的行分隔符? –
當你看到'20 0 1 string10 2 1string2'時,你在使用什麼平臺,以及你在看什麼編輯器? –
我並不知道不同的操作系統使用不同的分隔符,但我總是在w7中使用「\ n」,它運行良好。我用記事本打開了文本文件,然後使用Bluej進行編碼。 – Joan