我有一个程序可以将其进度和其他数据记录到XML文件中。我希望能够打开这个XML文件而不会阻塞编写器程序(不是.NET程序,我无法控制它),并且在读取XML时,等待处理完所有的XML,直到收到EOF。
如何在C#中实现这一目标?
请注意,有两个问题:
答案 0 :(得分:3)
答案 1 :(得分:1)
我在一个名为Tailf的操作系统程序中做了类似的事情。 如果你想自己做,或者从中获取所有代码,只需检查一下代码,它也应该对你有用,这也是我关心文本文件的一部分。
答案 2 :(得分:1)
您可以通过传递以下标志来打开文件流而不锁定它:
new FileStream(logFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
就等待“EOF”而言,如果其他程序只是间歇性地写入数据,则可能需要在进度中加入某种启发式方法(即,只有在没有新内容的情况下才停止查找新数据< em> X 分钟。)