相当于Cocoa中的FileSystemWatcher(.NET)

时间:2009-06-30 09:25:49

标签: cocoa filesystemwatcher fsevents

我正在使用Cocoa开发一个应用程序。我想不断检查特定位置的文件内容是否发生了变化(如.NET中的FileSystemWatcher)。请有人给我一个解决方案

7 个答案:

答案 0 :(得分:10)

请查看FSEvents

答案 1 :(得分:6)

正如Diederik所说,FSEvents是Apple的Carbon API,用于监听文件系统事件。有人为FSEvents创建了一个名为SCEvents的Cocoa / Objective-C包装器,它更容易使用。

答案 2 :(得分:2)

另一种选择是直接从/ dev / fsevents firehose饮用。我正在处理一个完全正确的应用程序并且它运行良好。如果文件发生更改,删除,移动,属性发生更改等,您都会收到通知。当然,这不是“Cocoa”选项,因为它主要是C代码,但我们在Cocoa应用程序中使用它。 / p>

答案 3 :(得分:1)

FSEvents很棒,但它们用于监控文件夹。要监控单个文件,您需要查看kqueues。在终端尝试“man kqueue”。

答案 4 :(得分:1)

查看NSWorkspace类文档。

答案 5 :(得分:1)

以下是如何使用书签和NSFileManager执行此操作的示例,以便您可以在文件移动时关注该文件。

https://github.com/ptrsghr/FileWatcher

答案 6 :(得分:0)