gpt4 book ai didi

c# - 以不阻止其他进程修改文件的方式读取文件

转载 作者:可可西里 更新时间:2023-11-01 13:26:22 29 4
gpt4 key购买 nike

我需要不断地读取日志文件来检测某些模式。如何在不干扰日志写入操作需要执行的文件操作的情况下做到这一点?

日志写入进程除了写入日志外,还会定期将文件移动到另一个位置(达到一定大小的位置)。

按照我读取文件的方式,日志写入器应用程序无法移动文件。我试过各种 FileShare 选项都无济于事。

这是我的代码的简化版本:

 using (FileStream stream = new FileStream(@"C:\temp\in.txt", FileMode.Open, FileAccess.Read, FileShare.Delete))
{
TextReader tr = new StreamReader(stream);
while (true)
{

Console.WriteLine(".. " + tr.ReadLine());
Thread.Sleep(1000);
}

}

最佳答案

试试 FileShare.ReadWrite |文件共享。删除

但是如果文件被删除(移动)那么我认为你的读取会失败。

关于c# - 以不阻止其他进程修改文件的方式读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016925/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com