目录的并行处理
Parallel processing of Directory
我正在处理文件目录监控,我必须在其中查找特定目录 "D:\Watch",如果检测到任何新文件,我必须对其进行处理并显示内容。我正在使用 FileSystemWatcher,但我的要求是每 1 minute.That 检查一次目录,这就是为什么我跳过 FileSystemWatcher 并制作一个 Windows 服务,该服务每 1 分钟后安排一次并读取目录以处理新的文件。
但我的需求是并行读取文件,处理完文件后显示内容,不需要等待其他文件处理完。如果任何文件的内容不正确,我还需要处理异常。
我如何才能同时满足上述要求来完成这项任务。我正在使用 C#.net。谢谢
如果我没有理解错的话,这段代码应该适合你。
var filePaths = Directory.EnumerateFiles(@"c:\mydir");
Parallel.ForEach(filePaths, ProcessFile);
这是你的处理逻辑
private void ProcessFile(string filePath)
{
//do what you have to do here. Proper exception handling is needed in this method
}
我正在处理文件目录监控,我必须在其中查找特定目录 "D:\Watch",如果检测到任何新文件,我必须对其进行处理并显示内容。我正在使用 FileSystemWatcher,但我的要求是每 1 minute.That 检查一次目录,这就是为什么我跳过 FileSystemWatcher 并制作一个 Windows 服务,该服务每 1 分钟后安排一次并读取目录以处理新的文件。
但我的需求是并行读取文件,处理完文件后显示内容,不需要等待其他文件处理完。如果任何文件的内容不正确,我还需要处理异常。
我如何才能同时满足上述要求来完成这项任务。我正在使用 C#.net。谢谢
如果我没有理解错的话,这段代码应该适合你。
var filePaths = Directory.EnumerateFiles(@"c:\mydir");
Parallel.ForEach(filePaths, ProcessFile);
这是你的处理逻辑
private void ProcessFile(string filePath)
{
//do what you have to do here. Proper exception handling is needed in this method
}