【问题标题】:PrintWriter to print on next linePrintWriter 在下一行打印
【发布时间】:2013-03-01 21:11:13
【问题描述】:

我有以下代码将字符串(从 ResultSet)打印到文本文件:

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

我在 write 语句中放了一个“\n”,希望它能在不同的行上打印每一行,但它失败了。 txt 文件当前打印出来是这样的,其中 row# 是 ResultSet 中的不同行:

行1行2行3行4行5

我希望它像这样打印出来:

第1行

第2行

第3行

第4行

第5行

...

【问题讨论】:

  • 尝试使用System.getProperty("file.separator") 而不是\n 看看是否可行。这也将减轻换行符的平台依赖性。

标签: java sql io printwriter


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您可以改用PrintWriter#println() 方法。

    来自 API:

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

    这也应该有效。

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

    【讨论】:

      【解决方案3】:

      在语句中使用,。例如:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2021-08-17
        • 2021-09-20
        • 1970-01-01
        相关资源
        最近更新 更多