1

我有一个目录,用户可以将文件从另一台设备传输到该目录。我有一个 FileObserver 正在监视该目录。但我不知道该注意什么。我需要知道文件何时完成传输,以便将其移动到另一个位置。那么我要注意什么事件代码?FileObserver.CREATE | FileObserver.MODIFY似乎不这样做。

更新

根据一些日志记录,我进行了以下观察:对于传输到目录的每个新文件,我都会收到以下事件:

FileObserver.MOVED_TO : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG
FileObserver.OPEN : DSC_0058.JPG
FileObserver.CLOSE_NOWRITE : DSC_0058.JPG

因此,在每次移动之后,我都会看到一系列 OPEN 然后 CLOSE_NOWRITE。我不确定 OPEN 然后 CLOSE_NOWRITE 事件的重要性。

4

1 回答 1

1

我会尝试CLOSE_WRITE,因为进行下载的东西必须是写入并最终关闭文件。也就是说,不能保证作者在文件完成之前不会关闭文件(它可以重新打开并附加更多)。因此,请务必对其进行测试以使您满意。

于 2016-02-11T01:42:56.713 回答