【发布时间】:2014-08-15 10:27:11
【问题描述】:
我正在尝试将多行字符串打印到 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 进行编码。
-
另外,在 Windows 上,标准分隔符是
\r\n,换句话说,CR LF。
标签: java string printwriter