Udostępnij za pośrednictwem


StreamReader Konstruktory

Definicja

Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia.

Przeciążenia

Nazwa Opis
StreamReader(Stream)

Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia.

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

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia na podstawie określonego kodowania znaków, opcji wykrywania znacznika kolejności bajtów i rozmiaru buforu, a opcjonalnie pozostawia otwarty strumień.

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i skonfigurowanym przy użyciu określonego FileStreamOptions obiektu.

StreamReader(String, Encoding, Boolean, Int32)

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu.

StreamReader(Stream, Encoding, Boolean, Int32)

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu.

StreamReader(Stream, Encoding, Boolean)

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów.

StreamReader(String, Encoding, Boolean)

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów.

StreamReader(String, FileStreamOptions)

Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku, używając domyślnego kodowania, umożliwiając wykrywanie znaków kolejności bajtów na początku pliku i skonfigurowane przy użyciu określonego FileStreamOptions obiektu.

StreamReader(String, Boolean)

Inicjuje nowe wystąpienie StreamReader klasy dla określonej nazwy pliku z określoną opcją wykrywania znacznika kolejności bajtów.

StreamReader(Stream, Encoding)

Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia z określonym kodowaniem znaków.

StreamReader(Stream, Boolean)

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określoną opcją wykrywania znacznika kolejności bajtów.

StreamReader(String)

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku.

StreamReader(String, Encoding)

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków.

StreamReader(Stream)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia.

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

Strumień do odczytania.

Wyjątki

stream nie obsługuje odczytywania.

Parametr stream ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie do UTF8Encoding, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.

Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

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

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia na podstawie określonego kodowania znaków, opcji wykrywania znacznika kolejności bajtów i rozmiaru buforu, a opcjonalnie pozostawia otwarty strumień.

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

Strumień do odczytania.

encoding
Encoding

Kodowanie znaków do użycia.

detectEncodingFromByteOrderMarks
Boolean

true aby wyszukać znaczniki kolejności bajtów na początku pliku; w przeciwnym razie, false.

bufferSize
Int32

Minimalny rozmiar buforu w bajtach.

leaveOpen
Boolean

true aby pozostawić strumień otwarty po usunięciu StreamReader obiektu; w przeciwnym razie false.

Uwagi

Jeśli parametr truenie leaveOpen zostanie ustawiony na , StreamReader obiekt wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.

Rozmiar buforu bufferSize w bajtach jest ustawiany przez parametr . Jeśli bufferSize jest mniejszy niż minimalny dozwolony rozmiar (128 bajtów), jest używany minimalny dozwolony rozmiar.

Ten konstruktor umożliwia zmianę kodowania przy pierwszym odczytywaniu StreamReader z obiektu. detectEncodingFromByteOrderMarks Jeśli parametr ma truewartość , konstruktor wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Uwaga / Notatka

Podczas odczytywania z Streamelementu funkcja jest bardziej wydajna, aby użyć buforu o takim samym rozmiarze jak wewnętrzny bufor strumienia.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być poprawnie interpretowane i mogą spowodować zgłoszenie wyjątku.

Dotyczy

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i skonfigurowanym przy użyciu określonego FileStreamOptions obiektu.

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

Pełna ścieżka pliku do odczytu.

encoding
Encoding

Kodowanie znaków do użycia.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

options
FileStreamOptions

Obiekt, który określa opcje konfiguracji dla bazowego FileStreamobiektu .

Wyjątki

path nie jest czytelny.

      -or-

path jest pustym ciągiem ("").

path lub encodingoptions ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

Zobacz też

Dotyczy

StreamReader(String, Encoding, Boolean, Int32)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu.

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

Pełna ścieżka pliku do odczytu.

encoding
Encoding

Kodowanie znaków do użycia.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

bufferSize
Int32

Minimalny rozmiar buforu w bajtach.

Wyjątki

path jest pustym ciągiem ("").

path lub encoding ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

bufferSize wartość jest mniejsza niż lub równa zero, z wyjątkiem -1, która może wskazywać domyślny rozmiar buforu.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie określone przez encoding parametr .

Ten konstruktor umożliwia zmianę kodowania przy pierwszym odczytywaniu StreamReader z obiektu. Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Rozmiar buforu bufferSize w bajtach jest ustawiany przez parametr . Jeśli bufferSize jest mniejszy niż minimalny dozwolony rozmiar (128 bajtów), jest używany minimalny dozwolony rozmiar.

Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).

Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(Stream, Encoding, Boolean, Int32)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu.

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

Strumień do odczytania.

encoding
Encoding

Kodowanie znaków do użycia.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

bufferSize
Int32

Minimalny rozmiar buforu w bajtach.

Wyjątki

Strumień nie obsługuje odczytu.

stream lub encoding ma wartość null.

bufferSize wartość jest mniejsza niż lub równa zero, z wyjątkiem -1, która może wskazywać domyślny rozmiar buforu.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Rozmiar buforu bufferSize w bajtach jest ustawiany przez parametr . Jeśli bufferSize jest mniejszy niż minimalny dozwolony rozmiar (128 bajtów), jest używany minimalny dozwolony rozmiar.

Ten konstruktor umożliwia zmianę kodowania przy pierwszym odczytywaniu StreamReader z obiektu. Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.

Uwaga / Notatka

Podczas odczytywania z Streamelementu funkcja jest bardziej wydajna, aby użyć buforu o takim samym rozmiarze jak wewnętrzny bufor strumienia.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(Stream, Encoding, Boolean)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów.

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

Strumień do odczytania.

encoding
Encoding

Kodowanie znaków do użycia.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

Wyjątki

stream nie obsługuje odczytywania.

stream lub encoding ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie określone przez encoding parametr, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.

Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(String, Encoding, Boolean)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów.

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

Pełna ścieżka pliku do odczytu.

encoding
Encoding

Kodowanie znaków do użycia.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

Wyjątki

path jest pustym ciągiem ("").

path lub encoding ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie określone przez encoding parametr i wewnętrzny rozmiar buforu do 1024 bajtów.

Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).

Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(String, FileStreamOptions)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku, używając domyślnego kodowania, umożliwiając wykrywanie znaków kolejności bajtów na początku pliku i skonfigurowane przy użyciu określonego FileStreamOptions obiektu.

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

Pełna ścieżka pliku do odczytu.

options
FileStreamOptions

Obiekt, który określa opcje konfiguracji dla bazowego FileStreamobiektu .

Wyjątki

path nie jest czytelny.

— lub —

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

path lub options ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

Zobacz też

Dotyczy

StreamReader(String, Boolean)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonej nazwy pliku z określoną opcją wykrywania znacznika kolejności bajtów.

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

Pełna ścieżka pliku do odczytu.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

Wyjątki

path jest pustym ciągiem ("").

Parametr path ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie do UTF8Encoding, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.

Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).

Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.

Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. UTF8Encoding W przeciwnym razie parametr jest używany. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(Stream, Encoding)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia z określonym kodowaniem znaków.

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

Strumień do odczytania.

encoding
Encoding

Kodowanie znaków do użycia.

Wyjątki

stream nie obsługuje odczytywania.

stream lub encoding ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Kodowanie znaków jest ustawiane przez encoding parametr , a rozmiar buforu jest ustawiony na 1024 bajty. Obiekt StreamReader próbuje wykryć kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(Stream, Boolean)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określoną opcją wykrywania znacznika kolejności bajtów.

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

Strumień do odczytania.

detectEncodingFromByteOrderMarks
Boolean

Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.

Wyjątki

stream nie obsługuje odczytywania.

Parametr stream ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie do UTF8Encoding, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.

Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(String)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku.

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

Pełna ścieżka pliku do odczytu.

Wyjątki

path jest pustym ciągiem ("").

Parametr path ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Pełna ścieżka pliku jest określana path przez parametr . Ten konstruktor inicjuje kodowanie do UTF8Encoding i rozmiar buforu do 1024 bajtów.

Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).

Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy

StreamReader(String, Encoding)

Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs
Źródło:
StreamReader.cs

Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków.

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

Pełna ścieżka pliku do odczytu.

encoding
Encoding

Kodowanie znaków do użycia.

Wyjątki

path jest pustym ciągiem ("").

path lub encoding ma wartość null.

Nie można odnaleźć pliku.

Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.

path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.

Przykłady

W poniższym przykładzie kodu pokazano ten 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

Uwagi

Ten konstruktor inicjuje kodowanie określone przez encoding parametr i wewnętrzny rozmiar buforu do 1024 bajtów. Obiekt StreamReader próbuje wykryć kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .

Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).

Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.

Ostrzeżenie

Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy