У меня есть файл, содержащий данные, на которые я хочу отслеживать изменения, а также добавлять собственные изменения. Подумайте, как "Tail -f foo.txt".
Основываясь на этом потоке, похоже, что я должен просто создать фильтр и передать его как писателю, так и читателю. Однако, когда читатель достигает конца исходного файла, он не видит обновления, которые я пишу сам.
Я знаю, что это похоже на странную ситуацию... это скорее эксперимент, чтобы понять, можно ли это сделать.
Вот пример, который я пробовал:
foo.txt:
б
с
d
е
е
string test = "foo.txt";
System.IO.FileStream fs = new System.IO.FileStream(test, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
var sw = new System.IO.StreamWriter(fs);
var sr = new System.IO.StreamReader(fs);
var res = sr.ReadLine();
res = sr.ReadLine();
sw.WriteLine("g");
sw.Flush();
res = sr.ReadLine();
res = sr.ReadLine();
sw.WriteLine("h");
sw.Flush();
sw.WriteLine("i");
sw.Flush();
sw.WriteLine("j");
sw.Flush();
sw.WriteLine("k");
sw.Flush();
res = sr.ReadLine();
res = sr.ReadLine();
res = sr.ReadLine();
res = sr.ReadLine();
res = sr.ReadLine();
res = sr.ReadLine();
После прохождения "f" читатель возвращает null.