代码之家  ›  专栏  ›  技术社区  ›  Reimu Lyu

处理FileSystemWatcher时发生文件读取错误。创建的事件

  •  -1
  • Reimu Lyu  · 技术社区  · 7 年前

    var watcher = new FileSystemWatcher();
    watcher.Created += (sender, e) =>
    {
        var lines = File.ReadAllLines(e.FullPath, Encoding.UTF8); //io exception here
    };
    

    2 回复  |  直到 7 年前
        1
  •  -1
  •   Michał Turczyn    7 年前

    您可以使用 while try-catch 块将文件读取代码放入 循环,直到您成功读取文件(这意味着您通过了 try

    您将在两种情况下退出:文件成功读取或引发IO以外的异常。这意味着你需要更复杂的 catch 部分您可以通过以下内容了解更多详细信息:)

        2
  •  -1
  •   Abhishek nazim hatipoglu    7 年前

    只需添加一个小延迟,如:

    var watcher = new FileSystemWatcher();
    watcher.Created += (sender, e) =>
    {
        Thread.Sleep(10);
        var lines = File.ReadAllLines(e.FullPath, Encoding.UTF8); //io exception here
    };
    

    SO Post