Agregar líneas a un archivo usando StreamWriter

Resuelto Waypoint asked hace 13 años • 11 respuestas

Quiero agregar líneas a mi archivo. Estoy usando un StreamWriter:

StreamWriter file2 = new StreamWriter(@"c:\file.txt");
file2.WriteLine(someString);
file2.Close();

La salida de mi archivo debe tener varias cadenas una debajo de la otra, pero solo tengo una fila, que se sobrescribe cada vez que ejecuto este código.

¿Hay alguna forma de permitir que StreamWriter se agregue a un archivo existente?

Waypoint avatar Sep 05 '11 16:09 Waypoint
Aceptado

Utilice esto en su lugar:

new StreamWriter("c:\\file.txt", true);

Con esta sobrecarga del constructor StreamWriter, usted elige si agrega el archivo o lo sobrescribe.

C# 4 y superiores ofrecen la siguiente sintaxis, que algunos encuentran más legible:

new StreamWriter("c:\\file.txt", append: true);
Øyvind Bråthen avatar Sep 05 '2011 09:09 Øyvind Bråthen
 using (FileStream fs = new FileStream(fileName,FileMode.Append, FileAccess.Write))
 using (StreamWriter sw = new StreamWriter(fs))
 {
    sw.WriteLine(something);
 }
Andrey Taptunov avatar Sep 05 '2011 09:09 Andrey Taptunov

Prueba esto:

StreamWriter file2 = new StreamWriter(@"c:\file.txt", true);
file2.WriteLine(someString);
file2.Close();
Marco avatar Sep 05 '2011 09:09 Marco