Leer un fichero linea a linea con C#

Hola a todos, hoy os voy a explicar como podemos leer un fichero linea a linea con C#.

Para leer ficheros de texto en C#, podemos utilizar StreamReader y con su método ReadLine() podemos leer una linea.

En la carpeta Debug de nuestro fichero, tendremos un fichero llamado test.txt con el siguiente contenido:

Para crear el fichero, lo podemos hacer así:


System.IO.StreamReader file = new System.IO.StreamReader("test.txt");

La forma de ir leyendo linea a linea es la siguiente:


string line;
while ((line = file.ReadLine()) != null)
{
    System.Console.WriteLine(line);
}

Recuerda de cerrar el fichero:


file.Close();

Este es el resultado:

Pero, ¿que pasa si el fichero no existe? Saltará error y se parará el programa, para solucionarlo debemos poner un try catch:


try
{

     System.IO.StreamReader file = new System.IO.StreamReader("test.txt");

     string line;
     while ((line = file.ReadLine()) != null)
     {
        System.Console.WriteLine(line);
     }

     file.Close();

}
catch (System.IO.FileNotFoundException)
{
    Console.WriteLine("No se ha encontrado el archivo");
}


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 LeerFicheroTexto
{
    class Program
    {
        static void Main(string[] args)
        {

            try
            {
                System.IO.StreamReader file = new System.IO.StreamReader("test.txt");

                string line;
                while ((line = file.ReadLine()) != null)
                {
                    System.Console.WriteLine(line);
                }

                file.Close();
            }
            catch (System.IO.FileNotFoundException)
            {
                Console.WriteLine("No existe el fichero");
            }

            System.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 *