我如何使用FileSystemWatcher来观察文件大小的变化

本文关键字:文件大小 变化 观察 何使用 FileSystemWatcher | 更新日期: 2023-09-27 18:05:30

设置监视器的方法:

private void WatchDirectory()
        {
            FileSystemWatcher watcher = new FileSystemWatcher();
            watcher.Path = userVideosDirectory;
            watcher.NotifyFilter = NotifyFilters.LastWrite;
            watcher.Filter = "*.mp4";
            watcher.Changed += new FileSystemEventHandler(OnChanged);
            watcher.EnableRaisingEvents = true;
        }

以及告知是否有任何更改的事件:

private void OnChanged(object source, FileSystemEventArgs e)
    {
        dirchanged = true;
    }

现在我正在检查目录中是否有新文件。但现在我也想观察和检查如果这个新的最后创建的文件大小的变化。当文件的大小不再改变时,给出一个消息,如"文件准备好了"。

如何实时查看文件大小,直到没有更多的更改?

我如何使用FileSystemWatcher来观察文件大小的变化

在使用文件系统在两个应用程序之间进行通信时,这是一个相当常见的问题。根据我的经验,如果您还有一个标记文件,表明"真正的"文件已完全写入,则效果最好:

SystemA: Writes file theRealFile.txt
SystemA: Writes file theRealFile.rdy (0byte)
SystemB: Watches for .rdy files and then reads theRealFile.txt