Java 长任务 - 它停止写入文件了吗?

标签 java

我正在将大量数据写入一个文件,在我密切关注文件的同时,它的大小最终停止了增长。

基本上我的任务是从数据库中获取信息,并打印出 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/

相关文章:

java - 如何从日期获取时区

java - Android Actionbar 左菜单

java - 在 Selenium Webdriver 中切换到父窗口

java - 我想将某些列的边框设置为粗,但所有列都已设置

java - 如果数组中存在一组特定的数字,我该如何计数

java - Java 建模与仿真

java - 在google appengine [Java]中根据__key__(唯一标识符)进行选择

java - Spring 启动,JPA 错误 : "Error executing DDL via JDBC Statement"

java - DWR Servlet 异常 : NumberFormatException

java - Hibernate + Spring 的意外缓存