gleichzeitige Lesen und schreiben einer Datei in C#

Ich habe eine Datei mit Daten, die ich überwachen möchten änderungen, als auch änderungen von meiner eigenen. Denke wie "Tail -f foo.txt".

Basierend auf dieser threades sieht aus wie genau muss ich das erstellen einer filestream -, und übergeben Sie es beide, Schriftsteller und Leser. Allerdings, wenn der Leser das Ende erreicht, der original-Datei, es nicht zu sehen, die updates, die ich selber Schreibe.

Ich weiß, es scheint wie eine seltsame situation... es ist mehr ein experiment, um zu sehen, ob es getan werden kann.

Hier ist das Beispiel Fall habe ich versucht:


foo.txt:

ein

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();

Nachdem Vergangenheit immer "f", der Leser, wird null zurückgegeben.

InformationsquelleAutor der Frage tbischel | 2010-09-28

Schreibe einen Kommentar