StreamReader Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe StreamReader per il flusso specificato.
Overload
StreamReader(Stream) |
Inizializza una nuova istanza della classe StreamReader per il flusso specificato. |
StreamReader(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. |
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 del contrassegno dell'ordine dei byte e configurata con l'oggetto specificato FileStreamOptions . |
StreamReader(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. |
StreamReader(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. |
StreamReader(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. |
StreamReader(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. |
StreamReader(String, FileStreamOptions) |
Inizializza una nuova istanza della StreamReader classe per il percorso del file specificato, utilizzando la codifica predefinita, abilitando il rilevamento dei contrassegni di ordine dei byte all'inizio del file e configurati con l'oggetto specificato FileStreamOptions . |
StreamReader(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. |
StreamReader(Stream, Encoding) |
Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con la codifica dei caratteri specificata. |
StreamReader(Stream, Boolean) |
Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con l'opzione specificata per il rilevamento dei byte order mark. |
StreamReader(String) |
Inizializza una nuova istanza della classe StreamReader per il nome file specificato. |
StreamReader(String, Encoding) |
Inizializza una nuova istanza della classe StreamReader per il nome file specificato, con la codifica dei caratteri specificata. |
StreamReader(Stream)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
Inizializza una nuova istanza della classe StreamReader 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 namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
FileStream^ fs = gcnew FileStream( path,FileMode::Open );
try
{
StreamReader^ sr = gcnew StreamReader( fs );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
finally
{
delete fs;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
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, è possibile che i caratteri non siano interpretabili e che venga generata 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
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.
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 usare.
- detectEncodingFromByteOrderMarks
- Boolean
true
per cercare i byte order mark all'inizio del file; in caso contrario, false
.
- bufferSize
- Int32
Dimensione minima del buffer.
- leaveOpen
- Boolean
true
per mantenere il flusso aperto dopo avere eliminato l'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 specificato Stream quando StreamReader.Dispose viene chiamato.
La dimensione del buffer, in numero di caratteri a 16 bit, viene impostata dal bufferSize
parametro . Se bufferSize
è minore della dimensione minima consentita (128 caratteri), 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 metodo Encoding.GetPreamble .
Nota
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
Inizializza una nuova istanza della StreamReader classe per il percorso del file specificato, con la codifica dei caratteri specificata, l'opzione di rilevamento del contrassegno dell'ordine dei byte 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);
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 completo del file da leggere.
- encoding
- Encoding
Codifica dei caratteri da usare.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se cercare i byte order mark all'inizio del file.
- options
- FileStreamOptions
Oggetto che specifica le opzioni di configurazione per l'oggetto sottostante FileStream.
Eccezioni
Il parametro path
, il parametro encoding
o il parametro options
è null
.
Impossibile trovare il file.
Il percorso specificato non è valido, ad esempio si trova 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
- Encoding
- I/O di file e Stream
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(String, Encoding, Boolean, Int32)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
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.
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);
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 completo del file da leggere.
- encoding
- Encoding
Codifica dei caratteri da usare.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se cercare i byte order mark all'inizio del file.
- bufferSize
- Int32
Dimensioni minime del buffer, in numero di caratteri a 16 bit.
Eccezioni
path
è una stringa vuota ("").
path
o encoding
è null
.
Impossibile trovare il file.
Il percorso specificato non è valido, ad esempio si trova 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.
Esempio
Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 metodo Encoding.GetPreamble .
La dimensione del buffer, in numero di caratteri a 16 bit, viene impostata dal bufferSize
parametro . Se bufferSize
è minore della dimensione minima consentita (128 caratteri), 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 è necessario per essere un file archiviato su disco. Può essere qualsiasi 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, è possibile che i caratteri non siano interpretabili e che venga generata un'eccezione.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(Stream, Encoding, Boolean, Int32)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
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.
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 usare.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se cercare i byte order mark all'inizio del file.
- bufferSize
- Int32
Dimensione minima del buffer.
Eccezioni
Il flusso non supporta la lettura.
stream
o encoding
è null
.
bufferSize
è minore o uguale a zero.
Esempio
Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 dimensione del buffer, in numero di caratteri a 16 bit, viene impostata dal bufferSize
parametro . Se bufferSize
è minore della dimensione minima consentita (128 caratteri), 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 metodo Encoding.GetPreamble .
L'oggetto StreamReader chiama Dispose() sull'oggetto specificato Stream quando StreamReader.Dispose viene chiamato .
Nota
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 siano interpretabili e che venga generata un'eccezione.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(Stream, Encoding, Boolean)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
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.
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 usare.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se cercare i byte order mark 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.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 metodo Encoding.GetPreamble .
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, è possibile che i caratteri non siano interpretabili e che venga generata un'eccezione.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(String, Encoding, Boolean)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
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.
public:
StreamReader(System::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 completo del file da leggere.
- encoding
- Encoding
Codifica dei caratteri da usare.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se cercare i byte order mark all'inizio del file.
Eccezioni
path
è una stringa vuota ("").
path
o encoding
è null
.
Impossibile trovare il file.
Il percorso specificato non è valido, ad esempio si trova 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.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 metodo Encoding.GetPreamble .
Il path
parametro può essere un nome di file, incluso un file in una condivisione UNC (Universal Naming Convention).
Il path
parametro non è necessario per essere un file archiviato su disco. Può essere qualsiasi 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, è possibile che i caratteri non siano interpretabili e che venga generata un'eccezione.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(String, FileStreamOptions)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
Inizializza una nuova istanza della StreamReader classe per il percorso del file specificato, utilizzando la codifica predefinita, abilitando il rilevamento dei contrassegni di ordine dei byte all'inizio del file e configurati 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 completo del file da leggere.
- options
- FileStreamOptions
Oggetto che specifica le opzioni di configurazione per l'oggetto sottostante FileStream.
Eccezioni
stream
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 si trova 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
- Encoding
- I/O di file e Stream
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(String, Boolean)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
Inizializza una nuova istanza della classe StreamReader per il nome file specificato, con l'opzione specificata per il rilevamento dei byte order mark.
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 completo del file da leggere.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se cercare i byte order mark all'inizio del file.
Eccezioni
path
è una stringa vuota ("").
path
è null
.
Impossibile trovare il file.
Il percorso specificato non è valido, ad esempio si trova 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.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 è necessario per essere un file archiviato su disco. Può essere qualsiasi 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 metodo Encoding.GetPreamble .
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
Inizializza una nuova istanza della classe StreamReader 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);
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 usare.
Eccezioni
stream
non supporta la lettura.
stream
o encoding
è null
.
Esempio
Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 è impostata dal parametro e la dimensione del encoding
buffer è impostata su 1024 byte. L'oggetto StreamReader tenta di rilevare la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente UTF-8, il testo UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il metodo Encoding.GetPreamble .
L'oggetto StreamReader chiama Dispose() l'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 causare la generazione di un'eccezione.
Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(Stream, Boolean)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
Inizializza una nuova istanza della classe StreamReader per il flusso specificato, con l'opzione specificata per il rilevamento dei byte order mark.
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 byte order mark all'inizio del file.
Eccezioni
stream
non supporta la lettura.
stream
è null
.
Esempio
Nell'esempio di codice seguente viene illustrato questo StreamReader costruttore.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 proprietà usando il BaseStreamstream
parametro e le dimensioni del buffer interno a 1024 byte.
Il detectEncodingFromByteOrderMarks
parametro rileva la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente UTF-8, il testo UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di byte appropriati. Per altre informazioni, vedere il metodo Encoding.GetPreamble .
L'oggetto StreamReader chiama Dispose() l'oggetto specificato Stream quando StreamReader.Dispose viene chiamato.
Per un elenco di 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
Inizializza una nuova istanza della classe StreamReader 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 completo del file da leggere.
Eccezioni
path
è una stringa vuota ("").
path
è null
.
Impossibile trovare il file.
Il percorso specificato non è valido, ad esempio si trova 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 namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
StreamReader^ sr = gcnew StreamReader( path );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
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 path
file viene specificato dal parametro . Questo costruttore inizializza la codifica in e le dimensioni del buffer fino a UTF8Encoding 1024 byte.
Il path
parametro può essere un nome file, incluso un file in una condivisione UNC (Universal Naming Convention).
Il path
parametro non è necessario per 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 causare la generazione di un'eccezione.
Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
StreamReader(String, Encoding)
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
- Origine:
- StreamReader.cs
Inizializza una nuova istanza della classe StreamReader 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);
new System.IO.StreamReader : string * System.Text.Encoding -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding)
Parametri
- path
- String
Percorso completo del file da leggere.
- encoding
- Encoding
Codifica dei caratteri da usare.
Eccezioni
path
è una stringa vuota ("").
path
o encoding
è null
.
Impossibile trovare il file.
Il percorso specificato non è valido, ad esempio si trova 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.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew 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 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew 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 = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( 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 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
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 le dimensioni del buffer interno a 1024 byte. L'oggetto StreamReader tenta di rilevare la codifica esaminando i primi quattro byte del flusso. Riconosce automaticamente UTF-8, il testo UTF-16, big-endian UTF-16, little-endian UTF-32 e big-endian UTF-32 se il file inizia con i contrassegni di byte appropriati. In caso contrario, viene usata la codifica fornita dall'utente. Per altre informazioni, vedere il metodo Encoding.GetPreamble .
Il path
parametro può essere un nome file, incluso un file in una condivisione UNC (Universal Naming Convention).
Il path
parametro non è necessario per 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 causare la generazione di un'eccezione.
Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Encoding
- I/O di file e di flussi
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file