Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe StreamReader

 

Data di pubblicazione: novembre 2016

Implementa un oggetto TextReader che legge i caratteri da un flusso di byte in una particolare codifica.

Per esaminare il codice sorgente di .NET Framework per questo tipo, vedere il Reference Source.

Spazio dei nomi:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.MarshalByRefObject
    System.IO.TextReader
      System.IO.StreamReader

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StreamReader : TextReader

NomeDescrizione
System_CAPS_pubmethodStreamReader(Stream)

Inizializza una nuova istanza della classe StreamReader per il flusso specificato.

System_CAPS_pubmethodStreamReader(Stream, Boolean)

Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con l'opzione specificata per il rilevamento dei byte order mark.

System_CAPS_pubmethodStreamReader(Stream, Encoding)

Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con la codifica dei caratteri specificata.

System_CAPS_pubmethodStreamReader(Stream, Encoding, Boolean)

Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con la codifica dei caratteri e l'opzione per il rilevamento dei byte order mark specificati.

System_CAPS_pubmethodStreamReader(Stream, Encoding, Boolean, Int32)

Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con la codifica dei caratteri, l'opzione per il rilevamento dei byte order mark e le dimensioni del buffer specificati.

System_CAPS_pubmethodStreamReader(Stream, Encoding, Boolean, Int32, Boolean)

Inizializza una nuova istanza della classe StreamReader per il flusso specificato in base alla codifica caratteri, all'opzione per il rilevamento dei byte order mark e alle dimensioni del buffer specificati. Facoltativamente mantiene aperto il flusso.

System_CAPS_pubmethodStreamReader(String)

Inizializza una nuova istanza della classe StreamReader per il nome file specificato.

System_CAPS_pubmethodStreamReader(String, Boolean)

Inizializza una nuova istanza della classe StreamReader per il nome file specificato, con l'opzione specificata per il rilevamento dei byte order mark.

System_CAPS_pubmethodStreamReader(String, Encoding)

Inizializza una nuova istanza della classe StreamReader per il nome file specificato, con la codifica dei caratteri specificata.

System_CAPS_pubmethodStreamReader(String, Encoding, Boolean)

Inizializza una nuova istanza della classe StreamReader per il nome file specificato, con la codifica caratteri e l'opzione per il rilevamento dei byte order mark specificati.

System_CAPS_pubmethodStreamReader(String, Encoding, Boolean, Int32)

Inizializza una nuova istanza della classe StreamReader per il nome file specificato, con la codifica caratteri, l'opzione per il rilevamento dei byte order mark e le dimensioni del buffer specificati.

NomeDescrizione
System_CAPS_pubpropertyBaseStream

Restituisce il flusso sottostante.

System_CAPS_pubpropertyCurrentEncoding

Ottiene la codifica caratteri corrente usata dall'oggetto StreamReader corrente.

System_CAPS_pubpropertyEndOfStream

Ottiene un valore che indica se la posizione corrente del flusso è alla fine del flusso.

NomeDescrizione
System_CAPS_pubmethodClose()

Chiude l'oggetto StreamReader e il flusso sottostante e rilascia tutte le risorse di sistema associate al lettore.(Esegue l'override di TextReader.Close().)

System_CAPS_pubmethodCreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni rilevanti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodDiscardBufferedData()

Cancella il buffer interno.

System_CAPS_pubmethodDispose()

Rilascia tutte le risorse usate dall'oggetto TextReader.(Ereditato da TextReader.)

System_CAPS_protmethodDispose(Boolean)

Chiude il flusso sottostante, rilascia le risorse non gestite usate dall'oggetto StreamReader e, facoltativamente, rilascia le risorse gestite.(Esegue l'override di TextReader.Dispose(Boolean).)

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetLifetimeService()

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.(Ereditato da MarshalByRefObject.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject oggetto.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodPeek()

Restituisce il carattere successivo disponibile senza usarlo.(Esegue l'override di TextReader.Peek().)

System_CAPS_pubmethodRead()

Legge il carattere successivo dal flusso di input e fa avanzare di un carattere la posizione del carattere.(Esegue l'override di TextReader.Read().)

System_CAPS_pubmethodRead(Char[], Int32, Int32)

Legge un numero massimo specificato di caratteri dal flusso corrente e scrive i dati in un buffer, iniziando dall'indice specificato.(Esegue l'override di TextReader.Read(Char[], Int32, Int32).)

System_CAPS_pubmethodReadAsync(Char[], Int32, Int32)

Legge in modo asincrono un numero massimo specificato di caratteri dal flusso corrente e scrive i dati in un buffer, a partire dall'indice specificato.(Esegue l'override di TextReader.ReadAsync(Char[], Int32, Int32).)

System_CAPS_pubmethodReadBlock(Char[], Int32, Int32)

Legge un numero massimo specificato di caratteri dal flusso corrente e scrive i dati in un buffer, a partire dall'indice specificato.(Esegue l'override di TextReader.ReadBlock(Char[], Int32, Int32).)

System_CAPS_pubmethodReadBlockAsync(Char[], Int32, Int32)

Legge in modo asincrono un numero massimo specificato di caratteri dal flusso corrente e scrive i dati in un buffer, a partire dall'indice specificato.(Esegue l'override di TextReader.ReadBlockAsync(Char[], Int32, Int32).)

System_CAPS_pubmethodReadLine()

Legge una riga di caratteri dal flusso corrente e restituisce i dati come stringa.(Esegue l'override di TextReader.ReadLine().)

System_CAPS_pubmethodReadLineAsync()

Legge una riga di caratteri in modo asincrono dal flusso corrente e restituisce i dati come stringa.(Esegue l'override di TextReader.ReadLineAsync().)

System_CAPS_pubmethodReadToEnd()

Legge tutti i caratteri dalla posizione corrente fino alla fine del flusso.(Esegue l'override di TextReader.ReadToEnd().)

System_CAPS_pubmethodReadToEndAsync()

Legge tutti i caratteri dalla posizione corrente fino alla fine del flusso in modo asincrono e li restituisce come singola stringa.(Esegue l'override di TextReader.ReadToEndAsync().)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

NomeDescrizione
System_CAPS_pubfieldSystem_CAPS_staticNull

Oggetto StreamReader che include un flusso vuoto.

System_CAPS_noteNota

Per visualizzare il codice sorgente di .NET Framework per questo tipo, vedere il Reference Source. È possibile esplorare il codice sorgente online, scaricare i riferimenti per la visualizzazione offline e scorrere le origini (inclusi aggiornamenti e patch) durante l'esecuzione del debug. see instructions.

StreamReader è progettato per l'input di caratteri in una particolare codifica, mentre la Stream classe è progettata per input e output di byte. Utilizzare StreamReader per la lettura delle righe di informazioni da un file di testo standard.

System_CAPS_importantImportante

Questo tipo implementa il IDisposable interfaccia. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il relativo Dispose metodo in un try/catch blocco. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic. Per ulteriori informazioni, consultare la sezione "Utilizzo di oggetti che implementano IDisposable" nell'argomento IDisposable dell'interfaccia.

StreamReader valore predefinito per la codifica UTF-8 se non specificato diversamente, anziché usare la tabella codici ANSI per il sistema corrente. UTF-8 gestisce correttamente i caratteri Unicode e fornisce risultati coerenti sulle versioni localizzate del sistema operativo. Se si ottiene la codifica caratteri corrente utilizzando il CurrentEncoding proprietà, il valore non è affidabile fino a dopo il primo Read metodo, poiché il rilevamento automatico di codifica non viene eseguita fino alla prima chiamata a un Read metodo.

Per impostazione predefinita, un StreamReader non è thread-safe. Vedere TextReader.Synchronized per un wrapper thread-safe.

Il Read(Char[], Int32, Int32) e Write(Char[], Int32, Int32) gli overload del metodo leggere e scrivere il numero di caratteri specificato dal count parametro. Questi devono essere distinti da BufferedStream.Read e BufferedStream.Write, che leggono e scrivono il numero di byte specificato dal count parametro. Utilizzare il BufferedStream metodi solo per la lettura e scrittura di un numero integrale di byte gli elementi della matrice.

System_CAPS_noteNota

Durante la lettura da un Stream, è preferibile utilizzare un buffer che è la stessa dimensione del buffer interno del flusso.

Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.

Nell'esempio seguente viene utilizzata un'istanza di StreamReader per leggere il testo da un file. Il costruttore usato in questo esempio non è supportato per l'utilizzo in Windows Store app.

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);
        }
    }
}

Nell'esempio seguente viene creata un'istanza di un StreamReader e viene chiamato il relativo ReadAsync per leggere un file in modo asincrono.

using System;
using System.IO;
using System.Threading.Tasks;

class Example
{
    public static void Main()
    {
        ReadAndDisplayFilesAsync();
    }

    private async static void ReadAndDisplayFilesAsync()
    {
        String filename = "TestFile1.txt";
        Char[] buffer;

        using (var sr = new StreamReader(filename)) {
            buffer = new Char[(int)sr.BaseStream.Length];
            await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
        }

        Console.WriteLine(new String(buffer));
    }
}
// The example displays the following output:
//       This is the first line of text in a relatively short file.
//       This is the second line.
//       This is the third line.
//       This is the fourth and final line.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: