Procedimiento Leer texto de un archivoHow to: Read text from a file

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.The following examples show how to read text synchronously and asynchronously from a text file using .NET for desktop apps. En ambos ejemplos, cuando se crea la instancia de la clase StreamReader, se proporciona la ruta de acceso relativa o absoluta del archivo.In both examples, when you create the instance of the StreamReader class, you provide the relative or absolute path to the file.

Nota

Estos ejemplos de código no se pueden aplicar al desarrollo de aplicaciones universales de Windows (UWP) porque Windows Runtime ofrece diferentes tipos de flujos para leer archivos o escribir en ellos.These code examples do not apply to developing for Universal Windows (UWP) apps, because the Windows Runtime provides different stream types for reading and writing to files. Para obtener un ejemplo en el que se muestra cómo leer el texto de un archivo en una aplicación para UWP, consulte Inicio rápido: lectura y escritura de un archivo.For an example that shows how to read text from a file in a UWP app, see Quickstart: Reading and writing files. 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.For examples that show how to convert between .NET Framework streams and Windows Runtime streams, see How to: Convert between .NET Framework streams and Windows Runtime streams.

Ejemplo: Lectura sincrónica en una aplicación de consolaExample: Synchronous read in a console app

En el siguiente ejemplo se muestra una operación de lectura sincrónica dentro de una aplicación de consola.The following example shows a synchronous read operation within a console app. En este ejemplo se abre el archivo de texto con un lector de flujos, copia el contenido en una cadena y genera la cadena en la consola.This example opens the text file using a stream reader, copies the contents to a string, and outputs the string to the console.

Importante

En el ejemplo, se da por supuesto que un archivo llamado TestFile.txt ya existe en la misma carpeta que la aplicación.The example assumes that a file named TestFile.txt already exists in the same folder as the app.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {   // Open the text file using a stream reader.
            using (StreamReader sr = new StreamReader("TestFile.txt"))
            {
            // Read the stream to a string, and write the string to the console.
                String line = sr.ReadToEnd();
                Console.WriteLine(line);
            }
        }
        catch (IOException e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Open the file using a stream reader.
            Using sr As New StreamReader("TestFile.txt")
                ' Read the stream to a string and write the string to the console.
                Dim line = sr.ReadToEnd()
                Console.WriteLine(line)
            End Using
        Catch e As IOException
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class

Ejemplo: Lectura asincrónica en una aplicación WPFExample: Asynchronous read in a WPF app

En el siguiente ejemplo se muestra una operación de lectura asincrónica en una aplicación de Windows Presentation Foundation (WPF).The following example shows an asynchronous read operation in a Windows Presentation Foundation (WPF) app.

Importante

En el ejemplo, se da por supuesto que un archivo llamado TestFile.txt ya existe en la misma carpeta que la aplicación.The example assumes that a file named TestFile.txt already exists in the same folder as the app.

using System;
using System.IO;
using System.Windows;

namespace TextFiles
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                using (StreamReader sr = new StreamReader("TestFile.txt"))
                {
                    string line = await sr.ReadToEndAsync();
                    ResultBlock.Text = line;
                }
            }
            catch (FileNotFoundException ex)
            {
                ResultBlock.Text = ex.Message;
            }
        }
    }
}
Imports System.IO
Imports System.Windows

''' <summary>
''' Interaction logic for MainWindow.xaml
''' </summary>

Partial Public Class MainWindow
    Inherits Window
    Public Sub New()
        InitializeComponent()
    End Sub

    Private Async Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs)
        Try
            Using sr As StreamReader = New StreamReader("TestFile.txt")
                Dim line = Await sr.ReadToEndAsync()
                ResultBlock.Text = line
            End Using
        Catch ex As FileNotFoundException
            ResultBlock.Text = ex.Message
        End Try
    End Sub
End Class

Vea tambiénSee also