Condividi tramite


Procedura: leggere testo da un file

Aggiornamento: novembre 2007

Nell'esempio di codice riportato di seguito viene illustrata la procedura per la lettura di testo da un file di testo. Nel secondo esempio l'utente riceve notifica quando viene raggiunta la fine del file. Per ottenere tale funzionalità, è anche possibile utilizzare i metodi ReadAllLines o ReadAllText.

Esempio

Imports System
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Create an instance of StreamReader to read from a file.
            Using sr As StreamReader = New StreamReader("TestFile.txt")
                Dim line As String
                ' Read and display the lines from the file until the end 
                ' of the file is reached.
                Do
                    line = sr.ReadLine()
                    Console.WriteLine(Line)
                Loop Until line Is Nothing
                sr.Close()
            End Using
        Catch E As Exception
            ' Let the user know what went wrong.
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(E.Message)
        End Try
    End Sub
End Class
using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("TestFile.txt")) 
            {
                String line;
                // Read and display lines from the file until the end of 
                // the file is reached.
                while ((line = sr.ReadLine()) != null) 
                {
                    Console.WriteLine(line);
                }
            }
        }
        catch (Exception e) 
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
Option Explicit On 
Option Strict On
Imports System
Imports System.IO
Public Class TextFromFile
    Private Const FILE_NAME As String = "MyFile.txt"
    Public Shared Sub Main()
        If Not File.Exists(FILE_NAME) Then
            Console.WriteLine("{0} does not exist.", FILE_NAME)
            Return
        End If
        Using sr As StreamReader = File.OpenText(FILE_NAME)
            Dim input As String
            input = sr.ReadLine()
            While Not input Is Nothing
                Console.WriteLine(input)
                input = sr.ReadLine()
            End While
            Console.WriteLine("The end of the stream has been reached.")
            sr.Close()
        End Using
    End Sub
End Class
using System;
using System.IO;
public class TextFromFile 
{
    private const string FILE_NAME = "MyFile.txt";
    public static void Main(String[] args) 
    {
        if (!File.Exists(FILE_NAME)) 
        {
            Console.WriteLine("{0} does not exist.", FILE_NAME);
            return;
        }
        using (StreamReader sr = File.OpenText(FILE_NAME))
        {
            String input;
            while ((input=sr.ReadLine())!=null) 
            {
                Console.WriteLine(input);
            }
            Console.WriteLine ("The end of the stream has been reached.");
            sr.Close();
        }
    }

Programmazione efficiente

Questo codice crea un oggetto StreamReader che punta a MyFile.txt tramite una chiamata a File.OpenText. StreamReader.ReadLine restituisce ogni riga come stringa. Quando non ci sono più caratteri da leggere, viene visualizzato un messaggio e il flusso viene chiuso.

Nota:

Gli utenti di Visual Basic possono scegliere di utilizzare metodi e proprietà forniti dall'oggetto My.Computer.FileSystem per l'I/O sul file. Per ulteriori informazioni, vedere Oggetto My.Computer.FileSystem.

Vedere anche

Attività

Procedura: creare una visualizzazione directory

Procedura: leggere e scrivere su un file di dati appena creato

Procedura: aprire e accodare un file di log

Procedura: scrivere testo su un file

Procedura: leggere caratteri da una stringa

Procedura: scrivere caratteri in una stringa

Concetti

I/O di file di base

Riferimenti

StreamReader

File.OpenText

StreamReader.ReadLine