我试图将多行字符串打印到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