Instrukcje: odczytywanie tekstu z pliku
W poniższych przykładach pokazano, jak odczytać tekst synchronicznie i asynchronicznie z pliku tekstowego przy użyciu platformy .NET dla aplikacji komputerowych. W obu przykładach podczas tworzenia wystąpienia StreamReader klasy należy podać względną lub bezwzględną ścieżkę do pliku.
Uwaga
Te przykłady kodu nie mają zastosowania do aplikacji uniwersalnych systemu Windows (UWP), ponieważ środowisko uruchomieniowe systemu Windows udostępnia różne typy strumieni do odczytu i zapisu w plikach. Aby zapoznać się z przykładem odczytywania tekstu z pliku w aplikacji platformy UNIWERSALNEJ systemu Windows, zobacz Szybki start: odczytywanie i zapisywanie plików. Przykłady pokazujące, jak konwertować strumienie .NET Framework i strumienie środowisko wykonawcze systemu Windows, zobacz How to: Convert between .NET Framework streams and środowisko wykonawcze systemu Windows streams (Jak konwertować strumienie .NET Framework i strumienie środowisko wykonawcze systemu Windows).
Przykład: odczyt synchroniczny w aplikacji konsolowej
W poniższym przykładzie pokazano synchroniczną operację odczytu w aplikacji konsolowej. W tym przykładzie plik tekstowy jest otwierany przy użyciu czytnika strumienia, kopiuje zawartość do ciągu i zwraca ciąg do konsoli.
Ważne
W przykładzie przyjęto założenie, że plik o nazwie TestFile.txt już istnieje w tym samym folderze co aplikacja.
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
Przykład: odczyt asynchroniczny w aplikacji WPF
W poniższym przykładzie pokazano asynchroniczną operację odczytu w aplikacji Windows Presentation Foundation (WPF).
Ważne
W przykładzie przyjęto założenie, że plik o nazwie TestFile.txt już istnieje w tym samym folderze co aplikacja.
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
Zobacz też
- StreamReader
- File.OpenText
- StreamReader.ReadLine
- Asynchroniczne operacje we/wy pliku
- Instrukcje: tworzenie listy katalogów
- Szybki start: odczytywanie i zapisywanie plików
- Instrukcje: konwertowanie strumieni .NET Framework i strumieni środowisko wykonawcze systemu Windows
- Instrukcje: odczyt i zapis w nowo utworzonym pliku danych
- Instrukcje: otwieranie i dołączanie do pliku dziennika
- Instrukcje: zapisywanie tekstu w pliku
- Instrukcje: odczytywanie znaków z ciągu
- Instrukcje: zapisywanie znaków w ciągu
- We/wy plików i strumieni