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. Los campos obligatorios están marcados con *