Condividi tramite


StreamReader Costruttori

Definizione

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

Overload

Nome Descrizione
StreamReader(Stream)

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

StreamReader(Stream, Encoding, Boolean, Int32, Boolean)

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

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Inizializza una nuova istanza della StreamReader classe per il percorso del file specificato, con la codifica dei caratteri specificata, l'opzione di rilevamento dei byte order mark e configurata con l'oggetto specificato FileStreamOptions .

StreamReader(String, Encoding, Boolean, Int32)

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

StreamReader(Stream, Encoding, Boolean, Int32)

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

StreamReader(Stream, Encoding, Boolean)

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

StreamReader(String, Encoding, Boolean)

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

StreamReader(String, FileStreamOptions)

Inizializza una nuova istanza della StreamReader classe per il percorso di file specificato, utilizzando la codifica predefinita, abilitando il rilevamento dei contrassegni di ordine dei byte all'inizio del file e configurato con l'oggetto specificato FileStreamOptions .

StreamReader(String, Boolean)

Inizializza una nuova istanza della StreamReader classe per il nome file specificato, con l'opzione di rilevamento del contrassegno dell'ordine dei byte specificata.

StreamReader(Stream, Encoding)

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

StreamReader(Stream, Boolean)

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

StreamReader(String)

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

StreamReader(String, Encoding)

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

StreamReader(Stream)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::IO::Stream ^ stream);
public StreamReader(System.IO.Stream stream);
new System.IO.StreamReader : System.IO.Stream -> System.IO.StreamReader
Public Sub New (stream As Stream)

Parametri

stream
Stream

Flusso da leggere.

Eccezioni

stream non supporta la lettura.

stream è null.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        try
        {
            if (File.Exists(path))
            {
                File.Delete(path);
            }

            using (StreamWriter sw = new StreamWriter(new FileStream(path, FileMode.CreateNew)))
            {
                sw.WriteLine("This");
                sw.WriteLine("is some text");
                sw.WriteLine("to test");
                sw.WriteLine("reading");
            }

            using (StreamReader sr = new StreamReader(new FileStream(path, FileMode.Open)))
            {
                while (sr.Peek() >= 0)
                {
                    Console.WriteLine(sr.ReadLine());
                }
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        Try
            If File.Exists(path) Then
                File.Delete(path)
            End If

            Dim sw As StreamWriter = New StreamWriter(path)
            sw.WriteLine("This")
            sw.WriteLine("is some text")
            sw.WriteLine("to test")
            sw.WriteLine("Reading")
            sw.Close()

            Dim fs As FileStream = New FileStream(path, FileMode.Open)

            Dim sr As StreamReader = New StreamReader(fs)

            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
            fs.Close()
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Commenti

Questo costruttore inizializza la codifica in UTF8Encoding, la BaseStream proprietà utilizzando il stream parametro e la dimensione interna del buffer a 1024 byte.

L'oggetto StreamReader chiama Dispose() sull'oggetto specificato Stream quando StreamReader.Dispose viene chiamato .

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(Stream, Encoding, Boolean, Int32, Boolean)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen);
public StreamReader(System.IO.Stream stream, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen);
public StreamReader(System.IO.Stream stream, System.Text.Encoding? encoding = default, bool detectEncodingFromByteOrderMarks = true, int bufferSize = -1, bool leaveOpen = false);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding * bool * int * bool -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer, leaveOpen As Boolean)
Public Sub New (stream As Stream, Optional encoding As Encoding = Nothing, Optional detectEncodingFromByteOrderMarks As Boolean = true, Optional bufferSize As Integer = -1, Optional leaveOpen As Boolean = false)

Parametri

stream
Stream

Flusso da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

detectEncodingFromByteOrderMarks
Boolean

true per cercare i contrassegni di ordine dei byte all'inizio del file; in caso contrario, false.

bufferSize
Int32

Dimensioni minime del buffer, in byte.

leaveOpen
Boolean

true per lasciare aperto il flusso dopo l'eliminazione dell'oggetto StreamReader ; in caso contrario, false.

Commenti

A meno che non si imposti il leaveOpen parametro su true, l'oggetto StreamReader chiama Dispose() sull'oggetto fornito Stream quando StreamReader.Dispose viene chiamato.

Le dimensioni del buffer, in byte, sono impostate dal bufferSize parametro . Se bufferSize è minore della dimensione minima consentita (128 byte), viene utilizzata la dimensione minima consentita.

Questo costruttore consente di modificare la codifica la prima volta che si legge dall'oggetto StreamReader . Se il detectEncodingFromByteOrderMarks parametro è true, il costruttore rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

Annotazioni

Quando si legge da , Streamè più efficiente usare un buffer con le stesse dimensioni del buffer interno del flusso.

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, è possibile che i caratteri non vengano interpretati correttamente e che venga generata un'eccezione.

Si applica a

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

Inizializza una nuova istanza della StreamReader classe per il percorso del file specificato, con la codifica dei caratteri specificata, l'opzione di rilevamento dei byte order mark e configurata con l'oggetto specificato FileStreamOptions .

public:
 StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, System::IO::FileStreamOptions ^ options);
public StreamReader(string path, System.Text.Encoding? encoding, bool detectEncodingFromByteOrderMarks, System.IO.FileStreamOptions options);
public StreamReader(string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, System.IO.FileStreamOptions options);
new System.IO.StreamReader : string * System.Text.Encoding * bool * System.IO.FileStreamOptions -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, options As FileStreamOptions)

Parametri

path
String

Percorso del file completo da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

options
FileStreamOptions

Oggetto che specifica le opzioni di configurazione per l'oggetto sottostante FileStream.

Eccezioni

path non è leggibile.

      -or-

path è una stringa vuota ("").

path o o encodingoptions è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

Vedi anche

Si applica a

StreamReader(String, Encoding, Boolean, Int32)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader(string path, System.Text.Encoding? encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader(string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
new System.IO.StreamReader : string * System.Text.Encoding * bool * int -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer)

Parametri

path
String

Percorso del file completo da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

bufferSize
Int32

Dimensioni minime del buffer, in byte.

Eccezioni

path è una stringa vuota ("").

path o encoding è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

bufferSize è minore o uguale a zero, ad eccezione di -1, che può indicare le dimensioni predefinite del buffer.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Questo costruttore inizializza la codifica come specificato dal encoding parametro .

Questo costruttore consente di modificare la codifica la prima volta che si legge dall'oggetto StreamReader . Il detectEncodingFromByteOrderMarks parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

Le dimensioni del buffer, in byte, sono impostate dal bufferSize parametro . Se bufferSize è minore della dimensione minima consentita (128 byte), viene utilizzata la dimensione minima consentita.

Il path parametro può essere un nome di file, incluso un file in una condivisione UNC (Universal Naming Convention).

Il path parametro non deve essere un file archiviato su disco. Può essere parte di un sistema che supporta l'accesso tramite flussi.

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(Stream, Encoding, Boolean, Int32)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader(System.IO.Stream stream, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader(System.IO.Stream stream, System.Text.Encoding? encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding * bool * int -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer)

Parametri

stream
Stream

Flusso da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

bufferSize
Int32

Dimensioni minime del buffer, in byte.

Eccezioni

Il flusso non supporta la lettura.

stream o encoding è null.

bufferSize è minore o uguale a zero, ad eccezione di -1, che può indicare le dimensioni predefinite del buffer.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Le dimensioni del buffer, in byte, sono impostate dal bufferSize parametro . Se bufferSize è minore della dimensione minima consentita (128 byte), viene utilizzata la dimensione minima consentita.

Questo costruttore consente di modificare la codifica la prima volta che si legge dall'oggetto StreamReader . Il detectEncodingFromByteOrderMarks parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

L'oggetto StreamReader chiama Dispose() sull'oggetto specificato Stream quando StreamReader.Dispose viene chiamato .

Annotazioni

Quando si legge da , Streamè più efficiente usare un buffer con le stesse dimensioni del buffer interno del flusso.

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(Stream, Encoding, Boolean)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(System.IO.Stream stream, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(System.IO.Stream stream, System.Text.Encoding? encoding, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding * bool -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean)

Parametri

stream
Stream

Flusso da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

Eccezioni

stream non supporta la lettura.

stream o encoding è null.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Questo costruttore inizializza la codifica come specificato dal encoding parametro , la BaseStream proprietà utilizzando il stream parametro e la dimensione interna del buffer a 1024 byte.

Il detectEncodingFromByteOrderMarks parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

L'oggetto StreamReader chiama Dispose() sull'oggetto specificato Stream quando StreamReader.Dispose viene chiamato .

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(String, Encoding, Boolean)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(string path, System.Text.Encoding? encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : string * System.Text.Encoding * bool -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean)

Parametri

path
String

Percorso del file completo da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

Eccezioni

path è una stringa vuota ("").

path o encoding è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Questo costruttore inizializza la codifica come specificato dal encoding parametro e la dimensione interna del buffer a 1024 byte.

Il detectEncodingFromByteOrderMarks parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

Il path parametro può essere un nome di file, incluso un file in una condivisione UNC (Universal Naming Convention).

Il path parametro non deve essere un file archiviato su disco. Può essere parte di un sistema che supporta l'accesso tramite flussi.

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(String, FileStreamOptions)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

Inizializza una nuova istanza della StreamReader classe per il percorso di file specificato, utilizzando la codifica predefinita, abilitando il rilevamento dei contrassegni di ordine dei byte all'inizio del file e configurato con l'oggetto specificato FileStreamOptions .

public:
 StreamReader(System::String ^ path, System::IO::FileStreamOptions ^ options);
public StreamReader(string path, System.IO.FileStreamOptions options);
new System.IO.StreamReader : string * System.IO.FileStreamOptions -> System.IO.StreamReader
Public Sub New (path As String, options As FileStreamOptions)

Parametri

path
String

Percorso del file completo da leggere.

options
FileStreamOptions

Oggetto che specifica le opzioni di configurazione per l'oggetto sottostante FileStream.

Eccezioni

path non è leggibile.

oppure

      <code data-dev-comment-type="paramref">path</code> is an empty string ("").

path o options è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

Vedi anche

Si applica a

StreamReader(String, Boolean)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

Inizializza una nuova istanza della StreamReader classe per il nome file specificato, con l'opzione di rilevamento del contrassegno dell'ordine dei byte specificata.

public:
 StreamReader(System::String ^ path, bool detectEncodingFromByteOrderMarks);
public StreamReader(string path, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : string * bool -> System.IO.StreamReader
Public Sub New (path As String, detectEncodingFromByteOrderMarks As Boolean)

Parametri

path
String

Percorso del file completo da leggere.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

Eccezioni

path è una stringa vuota ("").

path è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Questo costruttore inizializza la codifica in UTF8Encoding, la BaseStream proprietà utilizzando il stream parametro e la dimensione interna del buffer a 1024 byte.

Il path parametro può essere un nome di file, incluso un file in una condivisione UNC (Universal Naming Convention).

Il path parametro non deve essere un file archiviato su disco. Può essere parte di un sistema che supporta l'accesso tramite flussi.

Il detectEncodingFromByteOrderMarks parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene utilizzato .UTF8Encoding Per altre informazioni, vedere il Encoding.GetPreamble metodo .

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

Vedi anche

Si applica a

StreamReader(Stream, Encoding)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding);
public StreamReader(System.IO.Stream stream, System.Text.Encoding encoding);
public StreamReader(System.IO.Stream stream, System.Text.Encoding? encoding);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding)

Parametri

stream
Stream

Flusso da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

Eccezioni

stream non supporta la lettura.

stream o encoding è null.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

La codifica dei caratteri viene impostata dal encoding parametro e la dimensione del buffer è impostata su 1024 byte. L'oggetto StreamReader tenta di rilevare la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

L'oggetto StreamReader chiama Dispose() sull'oggetto specificato Stream quando StreamReader.Dispose viene chiamato .

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(Stream, Boolean)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::IO::Stream ^ stream, bool detectEncodingFromByteOrderMarks);
public StreamReader(System.IO.Stream stream, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : System.IO.Stream * bool -> System.IO.StreamReader
Public Sub New (stream As Stream, detectEncodingFromByteOrderMarks As Boolean)

Parametri

stream
Stream

Flusso da leggere.

detectEncodingFromByteOrderMarks
Boolean

Indica se cercare i contrassegni di ordine dei byte all'inizio del file.

Eccezioni

stream non supporta la lettura.

stream è null.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Questo costruttore inizializza la codifica in UTF8Encoding, la BaseStream proprietà utilizzando il stream parametro e la dimensione interna del buffer a 1024 byte.

Il detectEncodingFromByteOrderMarks parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

L'oggetto StreamReader chiama Dispose() sull'oggetto specificato Stream quando StreamReader.Dispose viene chiamato .

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

Vedi anche

Si applica a

StreamReader(String)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::String ^ path);
public StreamReader(string path);
new System.IO.StreamReader : string -> System.IO.StreamReader
Public Sub New (path As String)

Parametri

path
String

Percorso del file completo da leggere.

Eccezioni

path è una stringa vuota ("").

path è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

using System;
using System.IO;

class Test
{
    
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        try
        {
            if (File.Exists(path))
            {
                File.Delete(path);
            }

            using (StreamWriter sw = new StreamWriter(path))
            {
                sw.WriteLine("This");
                sw.WriteLine("is some text");
                sw.WriteLine("to test");
                sw.WriteLine("Reading");
            }

            using (StreamReader sr = new StreamReader(path))
            {
                while (sr.Peek() >= 0)
                {
                    Console.WriteLine(sr.ReadLine());
                }
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        Try
            If File.Exists(path) Then
                File.Delete(path)
            End If

            Dim sw As StreamWriter = New StreamWriter(path)
            sw.WriteLine("This")
            sw.WriteLine("is some text")
            sw.WriteLine("to test")
            sw.WriteLine("Reading")
            sw.Close()

            Dim sr As StreamReader = New StreamReader(path)

            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Commenti

Il percorso completo del file viene specificato dal path parametro . Questo costruttore inizializza la codifica in UTF8Encoding e le dimensioni del buffer a 1024 byte.

Il path parametro può essere un nome di file, incluso un file in una condivisione UNC (Universal Naming Convention).

Il path parametro non deve essere un file archiviato su disco. Può essere parte di un sistema che supporta l'accesso tramite flussi.

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a

StreamReader(String, Encoding)

Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs
Origine:
StreamReader.cs

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

public:
 StreamReader(System::String ^ path, System::Text::Encoding ^ encoding);
public StreamReader(string path, System.Text.Encoding? encoding);
public StreamReader(string path, System.Text.Encoding encoding);
new System.IO.StreamReader : string * System.Text.Encoding -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding)

Parametri

path
String

Percorso del file completo da leggere.

encoding
Encoding

Codifica dei caratteri da utilizzare.

Eccezioni

path è una stringa vuota ("").

path o encoding è null.

Impossibile trovare il file.

Il percorso specificato non è valido, ad esempio in un'unità non mappata.

path include una sintassi non corretta o non valida per il nome file, il nome della directory o l'etichetta del volume.

Esempio

Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.

private void getNewStreamReader()
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file
    StreamReader srAsciiFromFile =
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse =
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile =
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub

Commenti

Questo costruttore inizializza la codifica come specificato dal encoding parametro e la dimensione interna del buffer a 1024 byte. L'oggetto StreamReader tenta di rilevare la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente il testo UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di ordine dei byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il Encoding.GetPreamble metodo .

Il path parametro può essere un nome di file, incluso un file in una condivisione UNC (Universal Naming Convention).

Il path parametro non deve essere un file archiviato su disco. Può essere parte di un sistema che supporta l'accesso tramite flussi.

Attenzione

Quando si compila un set di caratteri con un'impostazione culturale specifica e si recuperano gli stessi caratteri con un'impostazione culturale diversa, i caratteri potrebbero non essere interpretabili e potrebbero generare un'eccezione.

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

Vedi anche

Si applica a