삭제되고 다시 업데이트되는 모든 로그 파일을 지속적으로 감시하려고합니다.C# 지속적으로 재생되는 파일보기.
현재 나의 접근 방식은 FileSystemWatcher를 사용하는 것이 었습니다. 이 훌륭한 파일을 수정할 때 작동하지만 파일을 삭제하고 같은 이름 가진 새 파일을 만들 경우 추적을 중지합니다.
내 현재의 접근 방식 :
생성 및 삭제 작업은 FileSystemWatcher의OnChanged
이벤트를 트리거하지 않기 때문이다
namespace LogReader
{
class Program
{
static void Main(string[] args)
{
Watch();
while (true)
{
}
}
public static void Watch()
{
var watch = new FileSystemWatcher();
watch.Path = @"C:\TEMP\test";
watch.Filter = "test.txt";
watch.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite;
watch.Changed += new FileSystemEventHandler(OnChanged);
watch.EnableRaisingEvents = true;
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
if (e.FullPath == @"C:\TEMP\test\test.txt")
{
Console.Clear();
Stream stream = File.Open(@"C:\TEMP\test\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader streamReader = new StreamReader(stream);
var lines = streamReader.ReadToEnd();
Console.Out.WriteLine(lines);
streamReader.Close();
stream.Close();
}
}
}
}
작성 및 삭제도 볼 수 있습니다. – BugFinder