我想知道是否有可能找出何时将文件添加到C#中的文件夹中。我知道你可以在FileInfo中看到创建时间和许多其他内容,但是当它被添加时就可以了。
答案 0 :(得分:14)
您可以使用System.IO.FileSystemWatcher。它提供了完成您想要做的事情的方法:
FileSystemWatcher watcher = new FileSystemWatcher()
{
Path = stringWithYourPath,
Filter = "*.txt"
};
// Add event handlers for all events you want to handle
watcher.Created += new FileSystemEventHandler(OnChanged);
// Activate the watcher
watcher.EnableRaisingEvents = true
OnChanged是一个事件处理程序:
private static void OnChanged(object source, FileSystemEventArgs e)
{
Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");
}
答案 1 :(得分:7)
查看FileSystemWatcher类 - http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
您可以在页面底部找到完整的示例。
答案 2 :(得分:3)
FileSystemWatcher 是一个非常强大的组件,它允许我们使用 连接到目录并观察其中的特定更改, 例如创建新文件,添加子目录和重命名 文件或子目录。这使得可以容易地检测到 何时创建,修改或删除某些文件或目录。它 是System.IO名称空间的成员之一。
它有事件,他们是
答案 3 :(得分:0)
对于"快照"解决方案可以使用此库https://github.com/igorcrevar/Directory-Snapshot-Difference-Csharp