Procedimiento Leer texto de 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 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. 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.
Ejemplo: Lectura sincrónica en una aplicación de consola
En el siguiente ejemplo se muestra una operación de lectura sincrónica dentro de una aplicación de consola. 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.
Importante
En el ejemplo, se da por supuesto que un archivo llamado TestFile.txt ya existe en la misma carpeta que la aplicación.
using System;
using System.IO;
class Program
{
public static void Main()
{
try
{
// Open the text file using a stream reader.
using (var sr = new StreamReader("TestFile.txt"))
{
// Read the stream as a string, and write the string to the console.
Console.WriteLine(sr.ReadToEnd());
}
}
catch (IOException e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
}
Imports System.IO
Module Program
Public Sub Main()
Try
' Open the file using a stream reader.
Using sr As New StreamReader("TestFile.txt")
' Read the stream as a string and write the string to the console.
Console.WriteLine(sr.ReadToEnd())
End Using
Catch e As IOException
Console.WriteLine("The file could not be read:")
Console.WriteLine(e.Message)
End Try
End Sub
End Module
Ejemplo: Lectura asincrónica en una aplicación WPF
En el siguiente ejemplo se muestra una operación de lectura asincrónica en una aplicación de Windows Presentation Foundation (WPF).
Importante
En el ejemplo, se da por supuesto que un archivo llamado TestFile.txt ya existe en la misma carpeta que la aplicación.
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 (var sr = new StreamReader("TestFile.txt"))
{
ResultBlock.Text = await sr.ReadToEndAsync();
}
}
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 New StreamReader("TestFile.txt")
ResultBlock.Text = Await sr.ReadToEndAsync()
End Using
Catch ex As FileNotFoundException
ResultBlock.Text = ex.Message
End Try
End Sub
End Class
Vea también
- StreamReader
- File.OpenText
- StreamReader.ReadLine
- E/S de archivos asincrónica
- Cómo: Crear una lista de directorios
- Inicio rápido: lectura y escritura de archivos
- Cómo: Convertir flujos de .NET Framework en flujos de Windows Runtime y viceversa
- Cómo: Leer y escribir en un archivo de datos recién creado
- Cómo: Abrir y anexar a un archivo de registro
- Cómo: Escribir texto en un archivo
- Cómo: Leer caracteres de una cadena
- Cómo: Escribir caracteres en una cadena
- E/S de archivos y secuencias
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de