情况:我正在用Win32 :: ChangeNotify看一个文件夹(这里不在乎跨平台)。该文件夹已共享到本地网络。将从另一台计算机在此文件夹中创建一个文件。此过程将需要一些时间。
问题:仍在写入文件时触发了更改事件。我如何等待写操作完成?
我的代码如下所示:
my $notify = Win32::ChangeNotify->new($watched_folder, 0, "LAST_WRITE");
if ($notify->wait(5000) == 1) {
# 1 = The object is signalled
}
您可能想要执行一些操作,例如在事件之间存储并检查文件大小,或者在检测到新文件后触发其他观察者执行此操作。在可接受的时间段内,文件大小没有更改,那么您可以合理地期望打开文件。
我以前在INotify上采用过这种方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句