问题标签 [filesystemwatcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
530 浏览

.net - 处理文件系统更改的最佳架构?

这是场景:

我正在编写一个应用程序来监视特定目录中的任何更改。该目录每分钟将被数千个文件淹没,每个文件都有一个“几乎”唯一的 GUID。文件格式是这样的:

GUID.dat where GUID == xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(内部内容不相关,只是文本数据)

我的应用程序将是一个具有单个文本框的表单,该文本框显示所有实时添加和删除的文件。每次有新文件进入时,我都必须用这个文件更新文本框,但我必须首先确保这个半唯一的 GUID 真的是唯一的,如果是的话,用这个新文件更新文本框。

从该目录中删除文件时,请确保它存在,然后将其删除,并相应地更新文本框。

问题是我一直在使用 .NET 文件观察器,似乎每次进入 (buffersize + 1)-th 文件时都有一个内部缓冲区被炸毁。我还尝试在我的应用程序,只需添加每个传入的文件,但稍后执行唯一 GUID 检查,但不要骰子。

0 投票
3 回答
5595 浏览

c# - FileSystemWatcher Dispose 调用挂起

我们刚刚开始遇到 FileSystemWatcher 的一个奇怪问题,其中对 Dispose() 的调用似乎挂起。这是一段时间以来一直没有任何问题的代码,但我们刚刚升级到 .NET3.5 SP1,所以我试图找出是否有其他人看到过这种行为。下面是创建 FileSystemWatcher 的代码:

其使用方式是更新 TreeNode 对象的状态图像(稍作调整以删除业务特定信息):

我们是否缺少某些东西,或者这是 .NET3.5 SP1 的异常情况?

0 投票
6 回答
6588 浏览

.net - 使用 .NET 实时读取文件中的更改

我有一个经常更新的 .csv 文件(大约每分钟 20 到 30 次)。我想在将新添加的行写入文件后立即将它们插入数据库。

FileSystemWatcher类侦听文件系统更改通知,并且可以在指定文件发生更改时引发事件。问题是 FileSystemWatcher 无法准确确定添加或删除了哪些行(据我所知)。

读取这些行的一种方法是保存和比较更改之间的行数,并读取最后一个更改和倒数第二个更改之间的差异。但是,我正在寻找更清洁(也许更优雅)的解决方案。

0 投票
7 回答
50337 浏览

.net - System.IO.FileSystemWatcher 监控网络服务器文件夹 - 性能注意事项

我想查看网络服务器上的文件夹树是否有更改。这些文件都有一个特定的扩展名。树中有大约 200 个文件夹和大约 1200 个文件,扩展名为我正在查看。

我无法编写要在服务器上运行的服务(禁止!),因此解决方案必须在客户端本地。及时性并不是特别重要。我可以忍受一分钟或更长时间的通知延迟。我正在关注创建、删除、重命名和更改。

使用 .NET System.IO.fileSystemWatcher 会在服务器上产生大量负载吗?

10 个单独的观察者如何减少被观察的文件夹/文件的数量?(从 700 个文件夹减少到 200 个,总共从 5500 个文件减少到 1200 个)更多网络流量而不是更少?我的想法是在服务器上重新洗牌,将监视的文件放在一棵树下。我可能并不总是有这个选项,因此有观察者团队。

我想另一种解决方案是定期检查 FSW 是否在服务器上创建了过度负载,或者它是否由于一大堆 SysAdmin 类型的原因而不起作用。

有一个更好的方法吗?

0 投票
2 回答
5685 浏览

.net - 为什么当我将文件复制到目录时 FileSystemWatcher 会创建多个更改事件

我使用 .Net FileSystemWatcher 编写了一个小型测试应用程序来监视目录。当我将一个大(几 Mb​​)文件复制到该目录中时,我会列出以下事件(请参见屏幕截图 - 并忽略 Delete 事件开始)。

替代文字 http://robinwilson.homelinux.com/FSW.png

我得到了一个创建的事件(如预期的那样),但随后发生了两个更改的事件(相隔约 0.7 秒)。为什么是这样?这将导致我计划开发的应用程序出现重大问题 - 因为我会尝试对文件执行两次操作(大概在完成写入之前一次!)。我能做些什么来阻止这种情况的发生吗?从我在 StackOverflow 和其他地方读到的内容来看,一旦文件被更改然后关闭,您应该只得到一个更改的事件。为什么我要两个?

0 投票
2 回答
1695 浏览

vba - 正在使用的 VBA 监视文件

当文件可供编辑(即不再使用)时,我正在寻找一些东西(Win API 调用或其他)来通知我。我应该设置一个计时器来每隔一段时间检查文件还是有一个好方法对文件设置监视?

0 投票
13 回答
80611 浏览

c# - FileSystemWatcher 与轮询以监视文件更改

我需要设置一个应用程序来监视在本地或网络驱动器上的目录中创建的文件。

或轮询FileSystemWatcher计时器将是最好的选择。我过去使用过这两种方法,但没有广泛使用。

这两种方法都有哪些问题(性能、可靠性等)?

0 投票
1 回答
3508 浏览

c# - FileSystemWatcher 和网络断开连接?

我怎样才能使它在网络中工作?它可以工作,然后无缘无故停止工作(可能是因为网络不完美)。

0 投票
1 回答
2756 浏览

c# - 如何对 FileSystemWatcher 事件进行单元测试?

我正在开发一个处理转储到目标目录中的文档的系统。我通过检测 FileSystemWatcher OnChanged 事件来获取文件。

作为单元测试的一部分,我应该如何自动化呢?我应该如何组织比较的输入文件和输出文件以验证转换是否正确?这是否可以通过发出 diff 命令的批处理文件更好地处理?

0 投票
1 回答
13521 浏览

c# - 您如何通过用户名监控文件服务器上的文件访问和更改?

我被要求找到一种方法来监视公司共享文件服务器(简单的 windows 共享目录)上特定文件夹中文件的更改(修改、重命名、删除、移动)。我用 C# 编写了一个简单的应用程序,它使用FileSystemWatcher来监视这些更改并通知它们的特定电子邮件地址。

我现在想知道的是如何找出进行这些更改的用户/计算机的名称/IP。有任何想法吗?

作为编写我自己的软件的替代方案,是否有任何支持此功能的好(可能是免费的)软件?