Tag: 观看

Java:查看目录以移动大文件

我一直在编写一个监视目录的程序,当在其中创建文件时,它会更改名称并将它们移动到新目录。 在我的第一个实现中,我使用了Java的Watch Service API,当我测试1kb文件时,它运行良好。 出现的问题是,实际上创建的文件大小在50-300mb之间。 当发生这种情况时,观察者API会立即找到该文件,但由于它仍在被写入,因此无法移动它。 我尝试将观察者放在一个循环中(生成exception直到文件可以移动)但这看起来效率很低。 由于这不起作用,我尝试使用定时器,每隔10秒检查一次文件夹,然后尽可能移动文件。 这是我最终选择的方法。 问题:无论如何在没有进行exception检查或不断比较大小的情况下发出文件写入信号? 我喜欢为每个文件使用Watcher API一次,而不是使用计时器不断检查(并运行exception)。 所有回复都非常感谢! NT