8.2. Lectura de un fichero de texto
Curso: Programación en C# (2015), por Nacho Cabanes
8.2. Lectura de un fichero de texto
La estructura de un programa que leyera de un fichero de texto sería parecida a:
?// Ejemplo_08_02a.cs // Lectura de un fichero de texto // Introducción a C#, por Nacho Cabanes using System; using System.IO; // Para StreamReader public class Ejemplo_08_02a { public static void Main() { StreamReader fichero; string linea; fichero = File.OpenText("prueba.txt"); linea = fichero.ReadLine(); Console.WriteLine( linea ); Console.WriteLine( fichero.ReadLine() ); fichero.Close(); } }
Las diferencias son:
- Para leer de un fichero no usaremos StreamWriter, sino StreamReader.
- Si queremos abrir un fichero que ya existe, usaremos OpenText, en lugar de CreateText.
- Para leer del fichero, usaríamos ReadLine, como hacíamos en la consola.
- Nuevamente, deberemos cerrar el fichero al terminar de usarlo.
Nuevamente, podemos usar un constructor en vez de OpenText:
?// Ejemplo_08_02b.cs // Lectura de un fichero de texto, con constructor // Introducción a C#, por Nacho Cabanes using System; using System.IO; // Para StreamReader public class Ejemplo_08_02b { public static void Main() { StreamReader fichero = new StreamReader("prueba.txt"); string linea = fichero.ReadLine(); Console.WriteLine( linea ); Console.WriteLine( fichero.ReadLine() ); fichero.Close(); } }
o bien utilizar la sintaxis alternativa, con la palabra "using":
?// Ejemplo_08_02c.cs // Lectura de un fichero de texto, con "using" // Introducción a C#, por Nacho Cabanes using System; using System.IO; // Para StreamReader public class Ejemplo_08_02c { public static void Main() { using (StreamReader fichero = new StreamReader("prueba.txt")) { string linea = fichero.ReadLine(); Console.WriteLine( linea ); Console.WriteLine( fichero.ReadLine() ); } } }
Ejercicios propuestos:
Ejercicio propuesto 8.2.1: Crea un programa que lea las tres primeras líneas del fichero creado en el ejercicio 8.1.1 y las muestre en pantalla.
Ejercicio propuesto 8.2.2: Crea una versión alternativa del ejercicio 8.2.1, usando el constructor de StreamReader.
Ejercicio propuesto 8.2.3: Crea una versión alternativa del ejercicio 8.2.2, empleando la sintaxis alternativa de "using".
Actualizado el: 22-03-2015 16:52