如何检测文本文件的实时更改?

4
我想写一个小型的PC工具,使用c#或者java语言读取txt格式的日志文件。应用程序正在运行并记录日志,我希望我的工具能在同一时间打开日志,并在有新的日志信息被写入时实现自动刷新。
我的难题是如何检测日志文件的变化,以使我的工具具备实时显示功能?这是一个常见问题,但赠送伪代码将不胜感激!

1
获取一些 GNU 源代码并查看 tail 应用程序,该应用程序使用 -f 选项完全符合您的要求。 - Marc B
FileSystemWatcher类可能会有所帮助。或者您可以设置一个计时器并轮询长度。 - Ben Voigt
1
你有没有考虑使用FileWatcher类?这里有一个不错的链接供参考:http://www.techrepublic.com/article/use-the-net-filesystemwatcher-object-to-monitor-directory-changes-in-c/6165137 - MethodMan
3个回答

8
你可以使用 FileSystemWatcher 类 (MSDN 页面)。但要注意,如果你在另一个进程正在写入文件时尝试打开该文件,则可能会被拒绝访问。

这让我免于做一些非常可疑的事情。谢谢! - w3bshark

4

1
我会轮询文件并检查其元数据以获取上次更改的日期,或者如果您使用.NET,可以使用 FileSystemWatcher 类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接