【问题标题】:PrintWriter not printing out complete stringPrintWriter 没有打印出完整的字符串
【发布时间】:2012-11-28 04:59:06
【问题描述】:

我有以下代码

FileWriter F = new FileWriter("out.txt");
PrintWriter H = new PrintWriter(F);
H.print(split[split.length - 2]);
H.print("END");

但是,当我检查 txt 时,最后一个文本不是“END”,而是字符串中单词的一部分。这是“repa”

当我这样做时

FileWriter F = new FileWriter("out.txt");
PrintWriter H = new PrintWriter(F);
System.out.print(split[split.length - 2]);

我得到的最后一段文字是数字“49”——这是正确的。

PrintWriter 似乎没有完全写出字符串。但是,当我这样做时

FileWriter F = new FileWriter("out.txt");
PrintWriter H = new PrintWriter(F);
H.print(split[split.length - 2]);
H.println(pdfInText)://Another string
H.print("END");

“原始”文本现在实际上完成了 - 这是什么?

【问题讨论】:

  • 没人?我不知道这里发生了什么

标签: java string io filewriter printwriter


【解决方案1】:

您是否关闭了PrintWriter?从它的 javadoc

与 PrintStream 类不同,如果启用了自动刷新,它将仅在调用 println() 方法之一时完成,而不是在碰巧输出换行符时完成。 println() 方法使用平台自己的行分隔符概念,而不是换行符。

如果您确实关闭了 PrintWriter(而不是 FileWriter!),请在打印后尝试 flush(),以强制执行该操作。

【讨论】:

    猜你喜欢
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    相关资源
    最近更新 更多