Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


8.3. Lectura hasta el final del fichero

Normalmente no querremos leer sólo una frase del fichero, sino procesar todo su contenido, de principio a fin.

En un fichero de texto, la forma de saber si hemos llegado al final es intentar leer una línea, y comprobar si el resultado ha sido "null", lo que nos indicaría que no se ha podido leer y que, por tanto estamos en el final del fichero.

Habitualmente, si queremos procesar todo un fichero, esta lectura y comprobación debería ser repetitiva, así:

// Ejemplo_08_03a.cs
// Lectura de un fichero de texto completo
// Introducción a C#, por Nacho Cabanes

using System;
using System.IO; 
public class Ejemplo_08_03a
{
    public static void Main()
    {
        StreamReader fichero;
        string linea;

        fichero = File.OpenText("prueba.txt");
        do 
        {
            linea = fichero.ReadLine();
            if (linea != null)
                Console.WriteLine( linea );
        } 
        while (linea != null);

        fichero.Close();    
    }
}

Por supuesto, podrías emplear el constructor o "using" para acceder al fichero. Esos cambios serán parte de los ejercicios propuestos.

Ejercicios propuestos:

Ejercicio propuesto 8.3.1: Crea una variante del ejemplo 08_03a, empleando un constructor en vez de "File.OpenText".
Ejercicio propuesto 8.3.2: Crea una variante del ejemplo 08_03a, empleando "using" en vez de "Close".
Ejercicio propuesto 8.3.3: Un programa que pregunte un nombre de fichero y muestre en pantalla el contenido de ese fichero, haciendo una pausa después de cada 25 líneas, para que dé tiempo a leerlo. Cuando el usuario pulse la tecla Intro, se mostrarán las siguientes 25 líneas, y así hasta que termine el fichero.
Ejercicio propuesto 8.3.4: Amplía la base de datos de ficheros (ejercicio 8.1.2), de modo que los datos se lean desde fichero (si existe) en el momento de lanzar el programa (puedes usar try-catch para que el programa no falle en el momento inicial, en el que quizá todavía no existan datos en fichero).
Ejercicio propuesto 8.3.5: Amplia el proyecto Libro (ejercicio 8.1.3), de modo que los datos se lean desde fichero (si existe) en el momento de poner el programa en marcha.
Ejercicio propuesto 8.3.6: Crea un programa que pida al usuario el nombre de un fichero de texto y una frase a buscar, y que muestre en pantalla todas las líneas de ese fichero que contengan esa frase. Cada frase se debe preceder del número de línea (la primera línea del fichero será la 1, la segunda será la 2, y así sucesivamente).