Procedura: leggere testo da un fileHow to: Read Text from a File

Negli esempi seguenti viene illustrato come leggere il testo in modo sincrono e in modo asincrono da un file di testo usando .NET per le applicazioni desktop.The following examples show how to read text synchronously and asynchronously from a text file using .NET for desktop apps. In entrambi gli esempi, quando si crea l'istanza della classe StreamReader, si immette il percorso relativo o assoluto del file.In both examples, when you create the instance of the StreamReader class, you provide the relative or absolute path to the file. Negli esempi si presuppone che il file denominato TestFile.txt sia nella stessa cartella dell'applicazione.The following examples assume that the file named TestFile.txt is in the same folder as the application.

Questi esempi di codice non sono applicabili allo sviluppo di applicazioni Windows Store poiché Windows Runtime offre tipi di flusso diversi per la lettura e la scrittura nei file.These code examples do not apply to developing for Windows Store Apps because the Windows Runtime provides different stream types for reading and writing to files. Per un esempio che illustri come leggere testo da un file in un'app di Windows Store, vedere Quickstart: Reading and writing files (Guida introduttiva: Lettura e scrittura di file).For an example that shows how to read text from a file in a Windows Store app, see Quickstart: Reading and writing files. Per esempi che illustrino come eseguire la conversione tra flussi di .NET Framework e flussi di Windows Runtime, vedere Procedura: Eseguire la conversione tra flussi di .NET Framework e flussi di Windows Runtime.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.

EsempioExample

L'esempio seguente illustra un'operazione di lettura sincrona in un'applicazione console.The following example shows a synchronous read operation within a console application. In questo esempio il file di testo viene aperto tramite un lettore del flusso e il contenuto viene copiato in una stringa, che viene trasmessa come output alla console.In this example, the text file is opened using a stream reader, the contents are copied to a string, and the string is output to the console.

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 (Exception e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
Imports System
Imports System.IO

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

EsempioExample

L'esempio seguente illustra l'operazione di lettura asincrona in un'applicazione Windows Presentation Foundation (WPF).The following example shows an asynchronous read operation in a Windows Presentation Foundation (WPF) application.

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

namespace WpfApplication
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void ReadFileButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                using (StreamReader sr = new StreamReader("TestFile.txt"))
                {
                    String line = await sr.ReadToEndAsync();
                    ResultBlock.Text = line;
                }
            }
            catch (Exception ex)
            {
                ResultBlock.Text = "Could not read the file";
            }
        }
    }
}
Imports System.IO

Class MainWindow
    Private Async Sub ReadFileButton_Click(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
            ResultBlock.Text = "Could not read the file"
        End Try
    End Sub
End Class

Vedere ancheSee also