-2

在一个 java 程序中,我将一些文本逐行复制到一个字符串变量中。

然后使用 Files.newBufferedWriter 将该数据(再次逐行检索文本)写入第二个文本文件

出于某种原因,写入在第二个文件中的特定行 # 和 col # 处停止 - 即使还有更多的文本行要写入。我什至尝试将消息输出到日志中,记录发生在第 # 行 - 并且消息继续超出第 892 行,直到第 1098 行 - 但数据仅写入到第二个文件中的第 892 行。

AFAIK BufferedWriter 可以将数据写入大文件-那为什么我的程序会发生这种情况?

作为参考,下面给出了显示数据写入的代码片段 -

BufferedWriter writer;
     if(outputmode.equalsIgnoreCase("append"))
        writer = Files.newBufferedWriter(path_target, ENCODING,  StandardOpenOption.APPEND);
else if(outputmode.equalsIgnoreCase("overwrite"))
    writer = Files.newBufferedWriter(path_target, ENCODING,  StandardOpenOption.CREATE);

将文本(在字符串变量“currentline”中)写入文件的实际代码如下所示 -

    writer.write(currentline);
    writer.newLine();

我该如何解决这个问题?

4

1 回答 1

1

您可能需要flush缓冲写入器将所有内容写入文件。

于 2013-01-13T06:54:58.497 回答