Sdílet prostřednictvím


StreamReader Konstruktory

Definice

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud.

Přetížení

Name Description
StreamReader(Stream)

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud.

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

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud na základě zadaného kódování znaků, možnosti detekce bajtů značky pořadí a velikost vyrovnávací paměti a volitelně ponechá datový proud otevřený.

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Inicializuje novou instanci StreamReader třídy pro zadanou cestu k souboru se zadaným kódováním znaků, možností detekce bajtů značky pořadí a nakonfigurovaným zadaným FileStreamOptions objektem.

StreamReader(String, Encoding, Boolean, Int32)

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadaným kódováním znaků, možností detekce bajtů značky pořadí a velikostí vyrovnávací paměti.

StreamReader(Stream, Encoding, Boolean, Int32)

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadaným kódováním znaků, možností detekce bajtů značky pořadí a velikostí vyrovnávací paměti.

StreamReader(Stream, Encoding, Boolean)

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadaným kódováním znaků a možností detekce bajtů značky pořadí.

StreamReader(String, Encoding, Boolean)

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadaným kódováním znaků a možností detekce bajtů značky pořadí.

StreamReader(String, FileStreamOptions)

Inicializuje novou instanci StreamReader třídy pro zadanou cestu k souboru pomocí výchozího kódování, povolí detekci bajtů pořadí značek na začátku souboru a nakonfiguruje se zadaným FileStreamOptions objektem.

StreamReader(String, Boolean)

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadanou možností detekce značky pořadí bajtů.

StreamReader(Stream, Encoding)

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadaným kódováním znaků.

StreamReader(Stream, Boolean)

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadanou možností detekce značky pořadí bajtů.

StreamReader(String)

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru.

StreamReader(String, Encoding)

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadaným kódováním znaků.

StreamReader(Stream)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud.

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)

Parametry

stream
Stream

Datový proud, který se má číst.

Výjimky

stream nepodporuje čtení.

stream je null.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování , UTF8EncodingBaseStream vlastnost pomocí stream parametru a velikost interní vyrovnávací paměti na 1024 bajtů.

Objekt StreamReader volá Dispose() zadaný Stream objekt při StreamReader.Dispose volání.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

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

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud na základě zadaného kódování znaků, možnosti detekce bajtů značky pořadí a velikost vyrovnávací paměti a volitelně ponechá datový proud otevřený.

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)

Parametry

stream
Stream

Datový proud, který se má přečíst.

encoding
Encoding

Kódování znaků, které se má použít.

detectEncodingFromByteOrderMarks
Boolean

truehledat značky pořadí bajtů na začátku souboru; v opačném případě . false

bufferSize
Int32

Minimální velikost vyrovnávací paměti v bajtech.

leaveOpen
Boolean

truenechat datový proud otevřený po odstranění objektuStreamReader; v opačném případě . false

Poznámky

Pokud nenastavíte parametr na leaveOpentrue, StreamReader objekt volá Dispose() zadaný Stream objekt při StreamReader.Dispose volání.

Velikost vyrovnávací paměti v bajtech je nastavena parametrem bufferSize . Pokud bufferSize je menší než minimální povolená velikost (128 bajtů), použije se minimální povolená velikost.

Tento konstruktor umožňuje změnit kódování při prvním čtení z objektu StreamReader . detectEncodingFromByteOrderMarks Pokud je trueparametr , konstruktor zjistí kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Poznámka:

Při čtení z Streamúložiště je efektivnější použít vyrovnávací paměť, která je stejná jako vnitřní vyrovnávací paměť datového proudu.

Upozornění

Když zkompilujete sadu znaků s určitým kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být znaky interpretovány správně a mohly by způsobit vyvolání výjimky.

Platí pro

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadanou cestu k souboru se zadaným kódováním znaků, možností detekce bajtů značky pořadí a nakonfigurovaným zadaným FileStreamOptions objektem.

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)

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

encoding
Encoding

Kódování znaků, které se má použít.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

options
FileStreamOptions

Objekt, který určuje možnosti konfigurace podkladového FileStreamobjektu .

Výjimky

path není čitelný.

      -or-

path je prázdný řetězec ("").

path nebo encodingoptions je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

Viz také

Platí pro

StreamReader(String, Encoding, Boolean, Int32)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadaným kódováním znaků, možností detekce bajtů značky pořadí a velikostí vyrovnávací paměti.

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)

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

encoding
Encoding

Kódování znaků, které se má použít.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

bufferSize
Int32

Minimální velikost vyrovnávací paměti v bajtech.

Výjimky

path je prázdný řetězec ("").

path nebo encoding je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

bufferSize je menší než nebo rovno nule, s výjimkou -1, což může znamenat výchozí velikost vyrovnávací paměti.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování zadané parametrem encoding .

Tento konstruktor umožňuje změnit kódování při prvním čtení z objektu StreamReader . Parametr detectEncodingFromByteOrderMarks rozpozná kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Velikost vyrovnávací paměti v bajtech je nastavena parametrem bufferSize . Pokud bufferSize je menší než minimální povolená velikost (128 bajtů), použije se minimální povolená velikost.

Parametrem path může být název souboru, včetně souboru ve sdílené složce UNC (Universal Naming Convention).

Parametr path nemusí být soubor uložený na disku. Může to být jakákoli část systému, která podporuje přístup pomocí datových proudů.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(Stream, Encoding, Boolean, Int32)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadaným kódováním znaků, možností detekce bajtů značky pořadí a velikostí vyrovnávací paměti.

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)

Parametry

stream
Stream

Datový proud, který se má číst.

encoding
Encoding

Kódování znaků, které se má použít.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

bufferSize
Int32

Minimální velikost vyrovnávací paměti v bajtech.

Výjimky

Stream nepodporuje čtení.

stream nebo encoding je null.

bufferSize je menší než nebo rovno nule, s výjimkou -1, což může znamenat výchozí velikost vyrovnávací paměti.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Velikost vyrovnávací paměti v bajtech je nastavena parametrem bufferSize . Pokud bufferSize je menší než minimální povolená velikost (128 bajtů), použije se minimální povolená velikost.

Tento konstruktor umožňuje změnit kódování při prvním čtení z objektu StreamReader . Parametr detectEncodingFromByteOrderMarks rozpozná kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Objekt StreamReader volá Dispose() zadaný Stream objekt při StreamReader.Dispose volání.

Poznámka:

Při čtení z Streamúložiště je efektivnější použít vyrovnávací paměť, která je stejná jako vnitřní vyrovnávací paměť datového proudu.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(Stream, Encoding, Boolean)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadaným kódováním znaků a možností detekce bajtů značky pořadí.

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)

Parametry

stream
Stream

Datový proud, který se má číst.

encoding
Encoding

Kódování znaků, které se má použít.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

Výjimky

stream nepodporuje čtení.

stream nebo encoding je null.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování zadané parametrem encoding , BaseStream vlastnost pomocí stream parametru a velikost interní vyrovnávací paměti na 1024 bajtů.

Parametr detectEncodingFromByteOrderMarks rozpozná kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Objekt StreamReader volá Dispose() zadaný Stream objekt při StreamReader.Dispose volání.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(String, Encoding, Boolean)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadaným kódováním znaků a možností detekce bajtů značky pořadí.

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)

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

encoding
Encoding

Kódování znaků, které se má použít.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

Výjimky

path je prázdný řetězec ("").

path nebo encoding je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování podle parametru encoding a velikost interní vyrovnávací paměti na 1024 bajtů.

Parametr detectEncodingFromByteOrderMarks rozpozná kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Parametrem path může být název souboru, včetně souboru ve sdílené složce UNC (Universal Naming Convention).

Parametr path nemusí být soubor uložený na disku. Může to být jakákoli část systému, která podporuje přístup pomocí datových proudů.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(String, FileStreamOptions)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadanou cestu k souboru pomocí výchozího kódování, povolí detekci bajtů pořadí značek na začátku souboru a nakonfiguruje se zadaným FileStreamOptions objektem.

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)

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

options
FileStreamOptions

Objekt, který určuje možnosti konfigurace podkladového FileStreamobjektu .

Výjimky

path není čitelný.

nebo

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

path nebo options je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

Viz také

Platí pro

StreamReader(String, Boolean)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadanou možností detekce značky pořadí bajtů.

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)

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

Výjimky

path je prázdný řetězec ("").

path je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování , UTF8EncodingBaseStream vlastnost pomocí stream parametru a velikost interní vyrovnávací paměti na 1024 bajtů.

Parametrem path může být název souboru, včetně souboru ve sdílené složce UNC (Universal Naming Convention).

Parametr path nemusí být soubor uložený na disku. Může to být jakákoli část systému, která podporuje přístup pomocí datových proudů.

Parametr detectEncodingFromByteOrderMarks rozpozná kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se UTF8Encoding použije. Další informace najdete v Encoding.GetPreamble metodě.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(Stream, Encoding)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadaným kódováním znaků.

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)

Parametry

stream
Stream

Datový proud, který se má číst.

encoding
Encoding

Kódování znaků, které se má použít.

Výjimky

stream nepodporuje čtení.

stream nebo encoding je null.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Kódování znaků je nastaveno parametrem encoding a velikost vyrovnávací paměti je nastavena na 1024 bajtů. Objekt StreamReader se pokusí rozpoznat kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Objekt StreamReader volá Dispose() zadaný Stream objekt při StreamReader.Dispose volání.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(Stream, Boolean)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný datový proud se zadanou možností detekce značky pořadí bajtů.

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)

Parametry

stream
Stream

Datový proud, který se má číst.

detectEncodingFromByteOrderMarks
Boolean

Určuje, zda se mají hledat značky pořadí bajtů na začátku souboru.

Výjimky

stream nepodporuje čtení.

stream je null.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování , UTF8EncodingBaseStream vlastnost pomocí stream parametru a velikost interní vyrovnávací paměti na 1024 bajtů.

Parametr detectEncodingFromByteOrderMarks rozpozná kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. Další informace najdete v Encoding.GetPreamble metodě.

Objekt StreamReader volá Dispose() zadaný Stream objekt při StreamReader.Dispose volání.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(String)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru.

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

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

Výjimky

path je prázdný řetězec ("").

path je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Úplná cesta k souboru je určena parametrem path . Tento konstruktor inicializuje kódování UTF8Encoding a velikost vyrovnávací paměti na 1024 bajtů.

Parametrem path může být název souboru, včetně souboru ve sdílené složce UNC (Universal Naming Convention).

Parametr path nemusí být soubor uložený na disku. Může to být jakákoli část systému, která podporuje přístup pomocí datových proudů.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro

StreamReader(String, Encoding)

Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs
Zdroj:
StreamReader.cs

Inicializuje novou instanci StreamReader třídy pro zadaný název souboru se zadaným kódováním znaků.

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)

Parametry

path
String

Úplná cesta k souboru, která se má přečíst.

encoding
Encoding

Kódování znaků, které se má použít.

Výjimky

path je prázdný řetězec ("").

path nebo encoding je null.

Soubor nebyl nalezen.

Zadaná cesta je neplatná, například že je na nemapované jednotce.

path obsahuje nesprávnou nebo neplatnou syntaxi názvu souboru, názvu adresáře nebo popisku svazku.

Příklady

Následující příklad kódu ukazuje tento StreamReader konstruktor.

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

Poznámky

Tento konstruktor inicializuje kódování podle parametru encoding a velikost interní vyrovnávací paměti na 1024 bajtů. Objekt StreamReader se pokusí rozpoznat kódování tak, že se podívá na první čtyři bajty datového proudu. Automaticky rozpozná UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 a big-endian UTF-32 text, pokud soubor začíná odpovídajícími značkami pořadí bajtů. V opačném případě se použije kódování zadané uživatelem. Další informace najdete v Encoding.GetPreamble metodě.

Parametrem path může být název souboru, včetně souboru ve sdílené složce UNC (Universal Naming Convention).

Parametr path nemusí být soubor uložený na disku. Může to být jakákoli část systému, která podporuje přístup pomocí datových proudů.

Upozornění

Když zkompilujete sadu znaků s konkrétním kulturním nastavením a načtete stejné znaky s jiným kulturním nastavením, nemusí být interpretovatelné a může dojít k výjimce.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Viz také

Platí pro