Para leer y recorrer un fichero línea a línea desde c# tenemos múltiples maneras usando la librería System.IO.
Una forma no muy eficiente pero muy simple y rápida de obtener todo el contenido de un fichero sería usar System.IO.File.ReadAllText
Después bastaría con crear un array de strings por cada línea y recorrerlo.
Este método es sencillo y válido con ficheros pequeños o si el programa no requiere una performance o rendimiento muy altos.
Ejemplo:
string fichero = "c:\prueba.txt"; string contenido = String.Empty; if (File.Exists(fichero)) { contenido = File.ReadAllText(fichero); string[] lineas = contenido.Split(Environment.NewLine); foreach (string linea in lineas) { Console.WriteLine(linea); } }
En el ejemplo anterior primero miramos mediante File.Exists si el fichero existe, para evitar que nos diera una excepción en caso de no encontrarse el fichero.
Leer y recorrer archivos grandes con c#
Sin embargo, si se trata de leer y recorrer ficheros grandes, es mejor leer línea a línea el fichero mediante un objeto System.IO.StreamReader.
Ejemplo:
string fichero = "c:\prueba.txt"; try { using (StreamReader lector = new StreamReader(fichero)) { while (lector.Peek() > -1) { string linea = lector.ReadLine(); if (!String.IsNullOrEmpty(linea)) { Console.WriteLine(linea); } } } } catch(Exception ex) { Console.WriteLine("Error: " + ex.Message); }
28939 visitas.