0

我正在尝试使用 FileWriter 和 PrintWriter 在 java 中输出一个文件,并面临一些相同的问题。当我在文件中写入数据时,只有大约 85% 的数据被写入文件中,而当我使用计数器检查并打印数据时,它显示该过程 100% 完成。从逻辑上讲,所有数据都应该已写入文件,但这并没有发生。我试图到处寻找答案,我发现这可能是由于我正在编写的大量数据(大约 11 mb)。

那么有什么有效的方法可以让我完成我的任务吗?

4

3 回答 3

1

您需要关闭 FileWriter 对象并刷新 PrintWriter 对象。

objFileWriter.close();
ibjPrintWriter.flush();
于 2012-07-06T13:08:47.637 回答
1

11 MB 非常小,因此如果您没有正确关闭文件,文件的末尾可能会被缓冲并丢弃。在Java 中,您可以编写多TB 文件,即文件系统可以处理的大小。;)

于 2012-07-06T13:01:46.837 回答
0
try {
        FO1 = new FileWriter("ProximityPoint.txt");
        out=new PrintWriter(FO1);
    } catch (IOException e) {
        System.out.println("Exception 2");
    }
    for (int i=0;i<10;i++){
        for (int j=0 ;j<10;j++){
            for (int k =0; k<10 ;k++){
                /*Process is done here*/
                out.println(i+ ", " +j+ ", " +k+ ", "+ a variable);

            }
        }
    }

这是我用于写入文件的代码。我省略了实际代码,因为我认为它不会影响写入文件。


bestsss 在这里的编辑:你 out.close()在循环之后错过了。

于 2012-07-06T13:05:25.463 回答