StreamReader Constructors

Definitie

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven stream.

Overloads

Name Description
StreamReader(Stream)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven stream.

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

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom op basis van de opgegeven tekencodering, bytevolgordedetectieoptie en buffergrootte, en laat de stroom eventueel open.

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor het opgegeven bestandspad, met de opgegeven tekencodering, bytevolgordedetectieoptie en geconfigureerd met het opgegeven FileStreamOptions object.

StreamReader(String, Encoding, Boolean, Int32)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven tekencodering, bytevolgordedetectieoptie en buffergrootte.

StreamReader(Stream, Encoding, Boolean, Int32)

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom, met de opgegeven tekencodering, bytevolgordedetectieoptie en buffergrootte.

StreamReader(Stream, Encoding, Boolean)

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom, met de opgegeven tekencodering en bytevolgordedetectieoptie.

StreamReader(String, Encoding, Boolean)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven optie voor tekencodering en bytevolgordemarkeringsdetectie.

StreamReader(String, FileStreamOptions)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor het opgegeven bestandspad met behulp van de standaardcodering, waarbij detectie van bytevolgordemarkeringen aan het begin van het bestand wordt ingeschakeld en geconfigureerd met het opgegeven FileStreamOptions object.

StreamReader(String, Boolean)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven optie voor de detectie van bytevolgordemarkeringen.

StreamReader(Stream, Encoding)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven stream, met de opgegeven tekencodering.

StreamReader(Stream, Boolean)

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom, met de opgegeven optie voor de detectie van bytevolgordemarkeringen.

StreamReader(String)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam.

StreamReader(String, Encoding)

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven tekencodering.

StreamReader(Stream)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven stream.

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)

Parameters

stream
Stream

De stroom die moet worden gelezen.

Uitzonderingen

stream biedt geen ondersteuning voor lezen.

stream is null.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd naar UTF8Encoding, de BaseStream eigenschap met behulp van de stream parameter en de interne buffergrootte tot 1024 bytes.

Het StreamReader object roept Dispose() het opgegeven Stream object aan wanneer StreamReader.Dispose het wordt aangeroepen.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

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

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom op basis van de opgegeven tekencodering, bytevolgordedetectieoptie en buffergrootte, en laat de stroom eventueel open.

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)

Parameters

stream
Stream

De stroom die moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

detectEncodingFromByteOrderMarks
Boolean

true om te zoeken naar bytevolgordemarkeringen aan het begin van het bestand; anders, false.

bufferSize
Int32

De minimale buffergrootte, in bytes.

leaveOpen
Boolean

true om de stroom open te laten nadat het StreamReader object is verwijderd; falseanders.

Opmerkingen

Tenzij u de leaveOpen parameter trueinstelt op, roept StreamReader het object het Dispose() opgegeven Stream object aan wanneer StreamReader.Dispose het wordt aangeroepen.

De buffergrootte, in bytes, wordt ingesteld door de bufferSize parameter. Als bufferSize deze kleiner is dan de minimale toegestane grootte (128 bytes), wordt de minimale toegestane grootte gebruikt.

Met deze constructor kunt u de codering wijzigen wanneer u het object de eerste keer leest StreamReader . Als de detectEncodingFromByteOrderMarks parameter is true, detecteert de constructor de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

Note

Bij het lezen van een Streambuffer is het efficiënter om een buffer te gebruiken die dezelfde grootte heeft als de interne buffer van de stroom.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, worden de tekens mogelijk niet correct geïnterpreteerd en kan er een uitzondering optreden.

Van toepassing op

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor het opgegeven bestandspad, met de opgegeven tekencodering, bytevolgordedetectieoptie en geconfigureerd met het opgegeven FileStreamOptions object.

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)

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

options
FileStreamOptions

Een object dat de configuratieopties voor de onderliggende FileStreamobjecten aangeeft.

Uitzonderingen

path is niet leesbaar.

      -or-

path is een lege tekenreeks ("").

path encoding of options is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

Zie ook

Van toepassing op

StreamReader(String, Encoding, Boolean, Int32)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven tekencodering, bytevolgordedetectieoptie en buffergrootte.

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)

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

bufferSize
Int32

De minimale buffergrootte, in bytes.

Uitzonderingen

path is een lege tekenreeks ("").

path of encoding is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

bufferSize is kleiner dan of gelijk aan nul, met uitzondering van -1, die de standaardbuffergrootte mag aangeven.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd zoals opgegeven door de encoding parameter.

Met deze constructor kunt u de codering wijzigen wanneer u het object de eerste keer leest StreamReader . De detectEncodingFromByteOrderMarks parameter detecteert de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

De buffergrootte, in bytes, wordt ingesteld door de bufferSize parameter. Als bufferSize deze kleiner is dan de minimale toegestane grootte (128 bytes), wordt de minimale toegestane grootte gebruikt.

De path parameter kan een bestandsnaam zijn, inclusief een bestand op een UNC-share (Universal Naming Convention).

De parameter hoeft geen bestand te zijn dat is opgeslagen op schijf. Het path kan deel uitmaken van een systeem dat toegang via streams ondersteunt.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(Stream, Encoding, Boolean, Int32)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom, met de opgegeven tekencodering, bytevolgordedetectieoptie en buffergrootte.

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)

Parameters

stream
Stream

De stroom die moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

bufferSize
Int32

De minimale buffergrootte, in bytes.

Uitzonderingen

De stream biedt geen ondersteuning voor lezen.

stream of encoding is null.

bufferSize is kleiner dan of gelijk aan nul, met uitzondering van -1, die de standaardbuffergrootte mag aangeven.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

De buffergrootte, in bytes, wordt ingesteld door de bufferSize parameter. Als bufferSize deze kleiner is dan de minimale toegestane grootte (128 bytes), wordt de minimale toegestane grootte gebruikt.

Met deze constructor kunt u de codering wijzigen wanneer u het object de eerste keer leest StreamReader . De detectEncodingFromByteOrderMarks parameter detecteert de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

Het StreamReader object roept Dispose() het opgegeven Stream object aan wanneer StreamReader.Dispose het wordt aangeroepen.

Note

Bij het lezen van een Streambuffer is het efficiënter om een buffer te gebruiken die dezelfde grootte heeft als de interne buffer van de stroom.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(Stream, Encoding, Boolean)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom, met de opgegeven tekencodering en bytevolgordedetectieoptie.

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)

Parameters

stream
Stream

De stroom die moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

Uitzonderingen

stream biedt geen ondersteuning voor lezen.

stream of encoding is null.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd zoals opgegeven door de encoding parameter, de BaseStream eigenschap met behulp van de stream parameter en de interne buffergrootte tot 1024 bytes.

De detectEncodingFromByteOrderMarks parameter detecteert de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

Het StreamReader object roept Dispose() het opgegeven Stream object aan wanneer StreamReader.Dispose het wordt aangeroepen.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(String, Encoding, Boolean)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven optie voor tekencodering en bytevolgordemarkeringsdetectie.

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)

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

Uitzonderingen

path is een lege tekenreeks ("").

path of encoding is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd zoals opgegeven door de encoding parameter en de interne buffergrootte tot 1024 bytes.

De detectEncodingFromByteOrderMarks parameter detecteert de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

De path parameter kan een bestandsnaam zijn, inclusief een bestand op een UNC-share (Universal Naming Convention).

De parameter hoeft geen bestand te zijn dat is opgeslagen op schijf. Het path kan deel uitmaken van een systeem dat toegang via streams ondersteunt.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(String, FileStreamOptions)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor het opgegeven bestandspad met behulp van de standaardcodering, waarbij detectie van bytevolgordemarkeringen aan het begin van het bestand wordt ingeschakeld en geconfigureerd met het opgegeven FileStreamOptions object.

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)

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

options
FileStreamOptions

Een object dat de configuratieopties voor de onderliggende FileStreamobjecten aangeeft.

Uitzonderingen

path is niet leesbaar.

– of –

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

path of options is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

Zie ook

Van toepassing op

StreamReader(String, Boolean)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven optie voor de detectie van bytevolgordemarkeringen.

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)

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

Uitzonderingen

path is een lege tekenreeks ("").

path is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd naar UTF8Encoding, de BaseStream eigenschap met behulp van de stream parameter en de interne buffergrootte tot 1024 bytes.

De path parameter kan een bestandsnaam zijn, inclusief een bestand op een UNC-share (Universal Naming Convention).

De parameter hoeft geen bestand te zijn dat is opgeslagen op schijf. Het path kan deel uitmaken van een systeem dat toegang via streams ondersteunt.

De detectEncodingFromByteOrderMarks parameter detecteert de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt het UTF8Encoding gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(Stream, Encoding)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven stream, met de opgegeven tekencodering.

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)

Parameters

stream
Stream

De stroom die moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

Uitzonderingen

stream biedt geen ondersteuning voor lezen.

stream of encoding is null.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

De tekencodering wordt ingesteld door de encoding parameter en de buffergrootte is ingesteld op 1024 bytes. Het StreamReader object probeert de codering te detecteren door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

Het StreamReader object roept Dispose() het opgegeven Stream object aan wanneer StreamReader.Dispose het wordt aangeroepen.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(Stream, Boolean)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de klasse voor de StreamReader opgegeven stroom, met de opgegeven optie voor de detectie van bytevolgordemarkeringen.

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)

Parameters

stream
Stream

De stroom die moet worden gelezen.

detectEncodingFromByteOrderMarks
Boolean

Geeft aan of u wilt zoeken naar bytevolgordemarkeringen aan het begin van het bestand.

Uitzonderingen

stream biedt geen ondersteuning voor lezen.

stream is null.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd naar UTF8Encoding, de BaseStream eigenschap met behulp van de stream parameter en de interne buffergrootte tot 1024 bytes.

De detectEncodingFromByteOrderMarks parameter detecteert de codering door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Zie de Encoding.GetPreamble methode voor meer informatie.

Het StreamReader object roept Dispose() het opgegeven Stream object aan wanneer StreamReader.Dispose het wordt aangeroepen.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(String)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam.

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

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

Uitzonderingen

path is een lege tekenreeks ("").

path is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Het volledige bestandspad wordt opgegeven door de path parameter. Deze constructor initialiseert de codering naar UTF8Encoding en de buffergrootte naar 1024 bytes.

De path parameter kan een bestandsnaam zijn, inclusief een bestand op een UNC-share (Universal Naming Convention).

De parameter hoeft geen bestand te zijn dat is opgeslagen op schijf. Het path kan deel uitmaken van een systeem dat toegang via streams ondersteunt.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

StreamReader(String, Encoding)

Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs
Bron:
StreamReader.cs

Initialiseert een nieuw exemplaar van de StreamReader klasse voor de opgegeven bestandsnaam, met de opgegeven tekencodering.

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)

Parameters

path
String

Het volledige bestandspad dat moet worden gelezen.

encoding
Encoding

De tekencodering die moet worden gebruikt.

Uitzonderingen

path is een lege tekenreeks ("").

path of encoding is null.

Kan het bestand niet vinden.

Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.

path bevat een onjuiste of ongeldige syntaxis voor bestandsnaam, mapnaam of volumelabel.

Voorbeelden

In het volgende codevoorbeeld ziet u deze StreamReader constructor.

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

Opmerkingen

Met deze constructor wordt de codering geïnitialiseerd zoals opgegeven door de encoding parameter en de interne buffergrootte tot 1024 bytes. Het StreamReader object probeert de codering te detecteren door naar de eerste vier bytes van de stream te kijken. Het herkent automatisch UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 en big-endian UTF-32-tekst als het bestand begint met de juiste bytevolgordemarkeringen. Anders wordt de door de gebruiker geleverde codering gebruikt. Zie de Encoding.GetPreamble methode voor meer informatie.

De path parameter kan een bestandsnaam zijn, inclusief een bestand op een UNC-share (Universal Naming Convention).

De parameter hoeft geen bestand te zijn dat is opgeslagen op schijf. Het path kan deel uitmaken van een systeem dat toegang via streams ondersteunt.

Caution

Wanneer u een set tekens compileert met een bepaalde culturele instelling en dezelfde tekens met een andere culturele instelling ophaalt, kunnen de tekens mogelijk niet worden geïnterpreteerd en kan er een uitzondering optreden.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op