Compartir a través de


Leer texto desde un archivo

En los ejemplos siguientes se muestra cómo leer texto desde un archivo de texto de forma sincrónica y asincrónica mediante .NET para aplicaciones de escritorio. En ambos ejemplos, cuando se crea la instancia de la clase StreamReader, se proporciona la ruta de acceso relativa o absoluta del archivo.

Nota

Estos ejemplos de código no se aplican a aplicaciones universales de Windows (UWP) porque Windows Runtime ofrece otros tipos de flujos para leer archivos o escribir en ellos. Para obtener más información, consulte Trabajo de UWP con archivos. Para obtener ejemplos en los que se muestra cómo convertir entre los flujos de .NET Framework y los de Windows Runtime, consulte Cómo: Convertir flujos de .NET Framework en flujos de Windows Runtime y viceversa.

Requisitos previos

  • Crear un archivo de texto denominado TestFile.txt en la misma carpeta que la aplicación.

    Agregar contenido al archivo de texto. Los ejemplos de este artículo escriben el contenido del archivo de texto en la consola.

Lectura de un archivo

En el siguiente ejemplo se muestra una operación de lectura sincrónica dentro de una aplicación de consola. El contenido del archivo se lee y almacena en una variable de cadena que luego se escribe en la consola.

  1. Cree una instancia StreamReader.
  2. Llamar al método StreamReader.ReadToEnd() y asignar el resultado a una cadena.
  3. Escribir la salida en la consola.
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = reader.ReadToEnd();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = reader.ReadToEnd()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try

Leer un archivo de forma asincrónica

En el siguiente ejemplo, se muestra una operación de lectura asincrónica dentro de una aplicación de consola. El contenido del archivo se lee y almacena en una variable de cadena que luego se escribe en la consola.

  1. Cree una instancia StreamReader.
  2. Esperar al método StreamReader.ReadToEndAsync() y asignar el resultado a una cadena.
  3. Escribir la salida en la consola.
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = await reader.ReadToEndAsync();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = Await reader.ReadToEndAsync()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try