Escribir un fichero de texto con C#

Hola a todos, hoy os voy a explicar como podemos escribir un fichero de texto en C#.

Para escribir en un fichero de texto con C#, lo podemos hacer con StreamWriter y su método WriteLine, pasandole una cadena como parámetro.

La forma de crear un StreamWriter es la siguiente:


System.IO.StreamWriter outputFile = new System.IO.StreamWriter("ejemplo.txt");

Si queremos que se añada al texto que ya hay en el fichero:

 


System.IO.StreamWriter outputFile = new System.IO.StreamWriter("ejemplo.txt", true);

Ahora vamos a escribir lineas, en mi caso lo voy a guardar en un array de string:


string[] lineas = { "Linea 1", "Linea 2", "Linea 3" };

foreach (string linea in lineas)
{
    outputFile.WriteLine(linea);
}

Recuerda siempre cerrar el fichero:


outputFile.Close();

También os recomiendo poner un try catch para evitar errores:


try { 
    System.IO.StreamWriter outputFile = new System.IO.StreamWriter("ejemplo.txt");

    string[] lineas = { "Linea 1", "Linea 2", "Linea 3" };

    foreach (string linea in lineas)
    {
        outputFile.WriteLine(linea);
    }

    Console.WriteLine("Fichero escrito");

    outputFile.Close();

}
catch (System.IO.IOException e)
{
    Console.WriteLine(e.Message);
}

Este es el contenido del fichero:

 

Os dejo un vídeo donde lo explico paso a paso:

Os dejo el ejemplo completo:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EscribirFicheroTexto
{
    class Program
    {
        static void Main(string[] args)
        {

            System.IO.StreamWriter outputFile = new System.IO.StreamWriter("ejemplo.txt");

            string[] lineas = { "Linea 1", "Linea 2", "Linea 3" };


            foreach (string linea in lineas)
            {
                outputFile.WriteLine(linea);
            }

            Console.WriteLine("Fichero escrito");

            outputFile.Close();

            Console.ReadLine();

        }
    }
}


Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada.