AnteriorPosterior

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

AnteriorPosterior