我正在将大量数据写入一个文件,在我密切关注文件的同时,它的大小最终停止了增长。
基本上我的任务是从数据库中获取信息,并打印出 A 列中的所有值 - 不管它们是否重复值......
由于数据库表有很多行,而且数据库表在我的网络中,这需要几天时间才能完成。因此我担心,由于文件没有增长,它实际上不再写入文件。
-- 奇怪的是,我的代码中没有“catch”,所以如果写入文件时出现问题,它不会抛出错误吗?!
我应该让任务完成(估计从今天起 2-3 天),还是有其他我不知道的事情导致我的应用程序无法写入文件?!
我的算法是这样的
Declare file Create new file Open file for writing (using bufferedwriter) get database connection get resultset from database for each row in the resultset - write column "A" to file - if row# % 100000 then write to screen "completed " + row# + " rows" when no more rows exist close file write to screen - "completed"
(使用 Windows 7)
最佳答案
您尝试过 stream.flush() 方法吗? (至少会通过 stream.close() 调用)
-> 所以尝试“定期”冲洗,看看是否有帮助。
警告:如果你冲洗得太频繁,你会失去性能
例如尝试
if rowNumber % 100000 then flush
关于Java 长任务 - 它停止写入文件了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2457448/