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);
}
28979 visitas.