【问题标题】:C# : How to keep track of each file added in a directory and log fileinfo into a file?C#:如何跟踪目录中添加的每个文件并将文件信息记录到文件中?
【发布时间】:2012-02-16 17:01:07
【问题描述】:

我有一个文件夹(我们称之为文件夹 1),其中不断添加新文件。我为 folder1 中的每个文件维护一个日志文件(包含文件完整路径和大小)。我将使用此日志文件将文件从文件夹 1 复制到文件夹 2。

这是一个持续的过程,我将为此编写一个 Windows 服务,但那是以后的事了。

首先,我正在考虑拥有一个计时器/文件系统观察程序,它将监视文件夹并查找更改,并在事件循环中通过文件夹 1 中的文件列表并添加文件信息(即文件路径和大小)到我的日志文件(这将是一个普通的 .txt 文件)。

我的问题是这样做的有效方法吗?有什么快速有效的方法吗?

感谢任何反馈或建议。

【问题讨论】:

    标签: c# logging file-io filesystemwatcher


    【解决方案1】:

    查看FileSystemWatcher 课程。它旨在满足您的需求。

    您尤其需要处理Created 事件。 MSDN 上有一个非常完整的示例,它向您展示了如何设置它。

    【讨论】:

    • 这就是我的计划。但我的问题是还有其他方法可以实现这一目标吗?
    • 我想你必须问问自己为什么你不想想要使用它。它直接挂接到文件系统中,因此您不会错过任何事件。您可能会使用计时器或其他自制解决方案。 FileSystemWatcher 正是出于这个原因而编写的 - 无需重新发明轮子。
    • 是的。这不是重新发明轮子,我知道 FileSystemWatcher 可以完成这项工作,但是在阅读了 stackoverflow 中有关 FileSystemWatcher 的文档和问题后,我对使用它持怀疑态度。好吧,如果那里什么都没有,我可能不得不忍受它。感谢您的调查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2016-05-28
    • 2020-01-06
    • 2011-11-10
    相关资源
    最近更新 更多