2013-03-13 72 views
4

我有以下代码打印字符串(从ResultSet)到一个文本文件:的PrintWriter上打印下一行

PrintWriter writer = new PrintWriter(new FileOutputStream(file, false)); 
while(RS.next()) { 
    writer.write(RS.getString(1)+"\n"); 
} 

我在写的语句把“\ n”,希望它将在不同的行上打印每行,但失败。 TXT文件目前打印出像这样,与行#是一个不同行的结果集:

row1row2row3row4row5

我希望它打印出来,如:

ROW1

2行

row3

row4

ROW5

...

+1

尝试使用'System.getProperty(“file.separator”)'而不是'\ n'来查看是否有效。这也将缓解换行符的平台依赖性。 – nattyddubbs 2013-03-13 18:39:27

回答

13

您应该使用println每一行后打印换行符:

writer.println(RS.getString(1)); 
+0

非常感谢! – Acitropy 2013-03-13 18:40:13

2

您可以使用PrintWriter#println()方法来代替。

从API:

通过写入行分隔符字符串终止当前行。 行分隔符字符串由系统属性 line.separator定义,并且不一定是单个换行符 ('\ n')。

此外,这也应该工作。

writer.write(RS.getString(1)+ System.getProperty("line.separator")); 
0

在声明中使用。例如:

witer.print("1"+"<br/>"); 
witer.print("2"+"<br/>");