Tengo un archivo que contiene los datos que me gustaría para monitorear los cambios a, así como añadir cambios de mi propia. Piensa como "Tail -f foo.txt".lectura y escritura simultánea un archivo en C#
Basado en this thread, parece que debería crear una secuencia de archivos y pasarla a un escritor y lector. Sin embargo, cuando el lector llega al final del archivo original, no puede ver las actualizaciones que yo mismo escribo.
Yo sé que parece una situación extraña ... es más un experimento para ver si se puede hacer.
Aquí es el caso del ejemplo I intentado:
foo.txt:
un
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();
Después de pasar la "f", el lector devuelve nulo.
Un póster puso algo sobre tener dos secuencias de archivos apuntando al mismo objeto ... que funcionó.Incluso si el lector llega al final del archivo, si el escritor se actualiza, la secuencia de lectura obtiene ambos resultados. – tbischel
Sí, ese soy yo borrando mi publicación después de que no funcionó como esperaba. Lo restauré con una explicación de por qué ... – MarkPflug