Практическое руководство. Чтение текста из файла
В следующих примерах демонстрируется синхронное и асинхронное чтение текста из текстового файла с использованием .NET для классических приложений. В обоих примерах при создании экземпляра класса StreamReader указывается относительный или абсолютный путь к файлу.
Примечание.
Эти примеры кода не применяются к приложениям универсальной платформы Windows (UWP), так как среда выполнения Windows предоставляет различные типы потоков для чтения и записи в файлы. Пример чтения текста из файла в приложении UWP см . в кратком руководстве по чтению и записи файлов. Примеры, демонстрирующие преобразование между потоками платформа .NET Framework и среда выполнения Windows потоками, см. в статье "Практическое руководство. Преобразование между потоками платформа .NET Framework и среда выполнения Windows потоками".
Пример: синхронное чтение в консольном приложении
Следующий пример иллюстрирует синхронную операцию чтения в консольном приложении. В этом примере текстовый файл открывается с помощью модуля чтения потока, содержимое копируется в строку, а строка выводится в консоли.
Внимание
В примерах предполагается, что файл с именем TestFile.txt уже существует в той же папке, что и приложение.
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
Пример: асинхронное чтение в приложении WPF
Следующий пример иллюстрирует асинхронную операцию чтения в приложении Windows Presentation Foundation (WPF).
Внимание
В примерах предполагается, что файл с именем TestFile.txt уже существует в той же папке, что и приложение.
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
См. также
- StreamReader
- File.OpenText
- StreamReader.ReadLine
- Асинхронный файловый ввод-вывод
- Практическое руководство. Создание списка каталогов
- Краткое руководство. Чтение и запись файлов
- Практическое руководство. Преобразование между потоками платформа .NET Framework и среда выполнения Windows потоками
- Практическое руководство. Чтение и запись в созданный файл данных
- Практическое руководство. Открытие и добавление в файл журнала
- Практическое руководство. Запись текста в файл
- Практическое руководство. Чтение символов из строки
- Практическое руководство. Запись символов в строку
- Файловый и потоковый ввод-вывод
Обратная связь
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Отправить и просмотреть отзыв по