txt texto separado por notas lineas leer guardar escribir datos crear comas bloc archivos archivo agregar c# text-files

texto - leer archivo txt c# separado por comas



Cree un archivo.txt si no existe, y si agrega una nueva lĂ­nea (11)

Me gustaría crear un archivo .txt y escribir en él, y si el archivo ya existe, solo quiero añadir algunas líneas más:

string path = @"E:/AppServ/Example.txt"; if (!File.Exists(path)) { File.Create(path); TextWriter tw = new StreamWriter(path); tw.WriteLine("The very first line!"); tw.Close(); } else if (File.Exists(path)) { TextWriter tw = new StreamWriter(path); tw.WriteLine("The next line!"); tw.Close(); }

Pero la primera línea parece sobrescribirse siempre ... ¿cómo puedo evitar escribir en la misma línea (estoy usando esto en un bucle)?

Sé que es algo bastante simple, pero nunca antes había usado el método WriteLine . Soy totalmente nuevo en C #.


Cuando inicias StreamWriter, se reemplaza el texto que estaba allí antes. Puede usar la propiedad adjuntar como sigue:

TextWriter t = new StreamWriter(path, true);


De la documentación de Microsoft, puede crear el archivo si no existe y anexarlo en una sola llamada File.AppendAllText Method (String, String)

.NET Framework (versión actual) Otras versiones

Abre un archivo, agrega la cadena especificada al archivo y luego cierra el archivo. Si el archivo no existe, este método crea un archivo, escribe la cadena especificada en el archivo y luego cierra el archivo. Espacio de nombres: System.IO Assembly: mscorlib (en mscorlib.dll)

Sintaxis C # C ++ F # VB public static void AppendAllText (ruta de cadena, contenido de cadena) Ruta de parámetros Tipo: System.String El archivo para adjuntar la cadena especificada. contents Tipo: System.String La cadena para anexar al archivo.

AppendAllText


En realidad, no tiene que verificar si el archivo existe, ya que StreamWriter lo hará por usted. Si lo abre en el modo de agregar, el archivo se creará si no existe, entonces siempre se agregará y nunca se escribirá. Entonces su verificación inicial es redundante.

TextWriter tw = new StreamWriter(path, true); tw.WriteLine("The next line!"); tw.Close();


File.AppendAllText agrega una cadena a un archivo. También crea un archivo de texto si el archivo no existe. Si no necesita leer el contenido, es muy eficiente. El caso de uso es iniciar sesión.

File.AppendAllText("C://log.txt", "hello world/n");




Usa el constructor correcto :

else if (File.Exists(path)) { using(var tw = new StreamWriter(path, true)) { tw.WriteLine("The next line!"); } }


else if (File.Exists(path)) { using (StreamWriter w = File.AppendText(path)) { w.WriteLine("The next line!"); w.Close(); } }


string path = @"E:/AppServ/Example.txt"; File.AppendAllLines(path, new [] { "The very first line!" });

Ver también File.AppendAllText (). AppendAllLines agregará una línea nueva a cada línea sin tener que colocarla allí.

Ambos métodos crearán el archivo si no existe, por lo que no es necesario.


string path=@"E:/AppServ/Example.txt"; if(!File.Exists(path)) { File.Create(path).Dispose(); using( TextWriter tw = new StreamWriter(path)) { tw.WriteLine("The very first line!"); tw.Close(); } } else if (File.Exists(path)) { using(TextWriter tw = new StreamWriter(path)) { tw.WriteLine("The next line!"); tw.Close(); } }


using(var tw = new StreamWriter(path, File.Exists(path))) { tw.WriteLine(message); }