什么可以导致这种Java行为?

时间:2010-01-11 09:52:19

标签: java eclipse file

我的项目会生成一些文本/二进制文件。如果我正常运行它,一些文件将具有相当小的大小(这表明出现了问题)。如果我从调试模式运行它(单步执行代码),文件将正确生成。

什么可能导致这种行为?我很确定我没有任何未公开的文件。

编辑:我以更集中的方式完成了代码,我发现了问题。在某个时间点,文件被压缩,这解释了大小的减少。我真笨 :) 主持人如果认为合适,可以关闭这个问题。

3 个答案:

答案 0 :(得分:3)

尝试添加:

System.gc();
try { Thread.sleep(4000); } catch (Exception e) {}
System.gc();

...在您的计划结束时。如果问题消失,那么 忘记关闭()文件。上面的代码没有解决方案,这是一个 hacky 尝试增加可能性终结器的运行。

答案 1 :(得分:2)

您的代码是多线程的吗?你是否正在尝试阅读一些你没有给另一个线程完成构建的东西,当你踩过它时它没有显现出来?

答案 2 :(得分:1)

例如,您是否调用某种“读取”方法来读取文件,并假设您将始终返回您请求的字节数?