Чтение текста из файла
В следующих примерах демонстрируется синхронное и асинхронное чтение текста из текстового файла с использованием .NET для классических приложений. В обоих примерах при создании экземпляра класса StreamReader указывается относительный или абсолютный путь к файлу.
Примечание.
Эти примеры кода не применяются к приложениям универсальной платформы Windows (UWP), так как среда выполнения Windows предоставляет различные типы потоков для чтения и записи в файлы. Дополнительные сведения см. в статье UWP для работы с файлами. Примеры, демонстрирующие преобразование между потоками платформа .NET Framework и среда выполнения Windows потоками, см. в статье "Практическое руководство. Преобразование между потоками платформа .NET Framework и среда выполнения Windows потоками".
Необходимые компоненты
Создайте текстовый файл с именем TestFile.txt в той же папке, что и приложение.
Добавьте некоторое содержимое в текстовый файл. Примеры, приведенные в этой статье, записывают содержимое текстового файла в консоль.
Чтение файла
Следующий пример иллюстрирует синхронную операцию чтения в консольном приложении. Содержимое файла считывается и хранится в строковой переменной, которая затем записывается в консоль.
- Создайте экземпляр StreamReader.
- StreamReader.ReadToEnd() Вызовите метод и назначьте результат строке.
- Запишите выходные данные в консоль.
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
Асинхронное чтение файла
В следующем примере показана асинхронная операция чтения в консольном приложении. Содержимое файла считывается и хранится в строковой переменной, которая затем записывается в консоль.
- Создайте экземпляр StreamReader.
- StreamReader.ReadToEndAsync() Дождите метод и назначьте результат строке.
- Запишите выходные данные в консоль.
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