如何在使用FileSystemWatcher监视多个文件夹的应用程序中监视多个共享文件

时间:2012-12-21 03:35:52

标签: c#

所以有一个服务器和一个LAN共享所有文件。数据库位于服务器上,包含有关物理存储在特定共享文件夹中的文件的信息(例如E:\ Shared)。

FileSystemWatcher的Filter属性允许观看特定文件夹中的所有文件:*.*或只有一种类型的文件,例如*.txt,或只有一个,按名称:{ {1}}。

我想知道我是否可以使用{{1}从code.txt的{​​{1}}中将多个文件(来自数据库的名称)作为参数(例如aaa.txt; bbb.txt; ccc.txt)。命令 分离字符串然后处理它们,或另一种方式。

2 个答案:

答案 0 :(得分:0)

如果文件不符合任何特定模式,我会在发生FileSystemWatcher事件时查看所有文件并检查数据库,看看我们是否真的关心该文件。

答案 1 :(得分:0)

Per MSDN

要观察所有文件中的更改,请将Filter属性设置为空字符串(“”)。要查看特定文件,请将Filter属性设置为文件名。例如,要监视文件MyDoc.txt中的更改,请将Filter属性设置为“MyDoc.txt”。您还可以查看特定类型文件的更改。例如,要监视任何文本文件中的更改,请将Filter属性设置为“ .txt”。 不支持使用多个过滤器,例如“ .txt | .doc”。*

话虽如此,另外我还建议从个人经验中你根本不使用FileSystemWatcher,因为它不可靠,要么得到第三方库,提供更可靠的替代方案或编写自己的服务来实现你的目的。