У меня есть файл, содержащий данные, которые я хотел бы отслеживать изменения, а также добавлять свои собственные изменения.Думайте как "Tail -f foo.txt".
Исходя из этой цепочки , похоже, что я должен просто создать поток файлов и передать его как автору, так и читателю.Однако, когда читатель достигает конца исходного файла, он не видит обновления, которые я пишу сам.
Я знаю, что это кажется странной ситуацией ... это скорее эксперимент, чтобы увидеть, можно ли это сделать.
Вот пример, который я пробовал:
foo.txt:
a
b
c
d
e
f
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"читатель возвращает ноль.