Поделиться через


StreamReader Конструкторы

Определение

Инициализирует новый экземпляр класса для указанного StreamReader потока.

Перегрузки

Имя Описание
StreamReader(Stream)

Инициализирует новый экземпляр класса для указанного StreamReader потока.

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

Инициализирует новый экземпляр класса для указанного потока на основе указанного StreamReader кодировки символов, параметра обнаружения меток порядка байтов и размера буфера, а также при необходимости оставляет поток открытым.

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Инициализирует новый экземпляр класса для указанного StreamReader пути к файлу с заданным кодировкой символов, параметром обнаружения меток порядка байтов и настроенным с указанным FileStreamOptions объектом.

StreamReader(String, Encoding, Boolean, Int32)

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с указанным кодировкой символов, параметром обнаружения меток порядка байтов и размером буфера.

StreamReader(Stream, Encoding, Boolean, Int32)

Инициализирует новый экземпляр класса для указанного StreamReader потока с указанным кодировкой символов, параметром обнаружения байтов порядка байтов и размером буфера.

StreamReader(Stream, Encoding, Boolean)

Инициализирует новый экземпляр класса для указанного StreamReader потока с указанным параметром кодировки символов и параметра обнаружения меток порядка байтов.

StreamReader(String, Encoding, Boolean)

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с указанным параметром кодирования символов и параметра обнаружения байтового порядка.

StreamReader(String, FileStreamOptions)

Инициализирует новый экземпляр StreamReader класса для указанного пути к файлу, используя кодировку по умолчанию, позволяя обнаруживывать метки порядка байтов в начале файла и настраивать указанный FileStreamOptions объект.

StreamReader(String, Boolean)

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с указанным параметром обнаружения меток порядка байтов.

StreamReader(Stream, Encoding)

Инициализирует новый экземпляр класса для указанного StreamReader потока с заданным кодировкой символов.

StreamReader(Stream, Boolean)

Инициализирует новый экземпляр класса для указанного StreamReader потока с указанным параметром обнаружения меток порядка байтов.

StreamReader(String)

Инициализирует новый экземпляр класса для указанного StreamReader имени файла.

StreamReader(String, Encoding)

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с заданным кодировкой символов.

StreamReader(Stream)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader потока.

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)

Параметры

stream
Stream

Поток для чтения.

Исключения

stream не поддерживает чтение.

stream равно null.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку UTF8Encodingв , BaseStream свойство с помощью stream параметра и внутренний размер буфера до 1024 байт.

Объект StreamReader вызывает Dispose() предоставленный Stream объект при StreamReader.Dispose вызове.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

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

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного потока на основе указанного StreamReader кодировки символов, параметра обнаружения меток порядка байтов и размера буфера, а также при необходимости оставляет поток открытым.

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)

Параметры

stream
Stream

Поток для чтения.

encoding
Encoding

Кодировка символов, используемая.

detectEncodingFromByteOrderMarks
Boolean

true поиск меток порядка байтов в начале файла; falseв противном случае .

bufferSize
Int32

Минимальный размер буфера в байтах.

leaveOpen
Boolean

trueЗначение , falseчтобы оставить поток открытым после StreamReader удаления объекта; в противном случае .

Комментарии

Если параметр trueне заданleaveOpen, StreamReader объект вызывает Dispose() предоставленный Stream объект при StreamReader.Dispose вызове.

Размер буфера в байтах задается параметром bufferSize . Если bufferSize меньше минимально допустимого размера (128 байт), используется минимальный допустимый размер.

Этот конструктор позволяет изменить кодировку при первом чтении из StreamReader объекта. detectEncodingFromByteOrderMarks Если параметр заданtrue, конструктор обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Замечание

При чтении из Streamнее более эффективно использовать буфер, который имеет тот же размер, что и внутренний буфер потока.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения тех же символов с другим культурным параметром символы могут быть неправильно интерпретированы и могут вызвать исключение.

Применяется к

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader пути к файлу с заданным кодировкой символов, параметром обнаружения меток порядка байтов и настроенным с указанным FileStreamOptions объектом.

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

Параметры

path
String

Полный путь к файлу для чтения.

encoding
Encoding

Кодировка символов, используемая.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

options
FileStreamOptions

Объект, указывающий параметры конфигурации для базового FileStreamобъекта.

Исключения

path не является читаемым.

      -or-

path — пустая строка ("").

path или encodingoptions есть null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

См. также раздел

Применяется к

StreamReader(String, Encoding, Boolean, Int32)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с указанным кодировкой символов, параметром обнаружения меток порядка байтов и размером буфера.

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)

Параметры

path
String

Полный путь к файлу для чтения.

encoding
Encoding

Кодировка символов, используемая.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

bufferSize
Int32

Минимальный размер буфера в байтах.

Исключения

path — пустая строка ("").

path или encoding есть null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

bufferSize значение меньше или равно нулю, за исключением -1, которое может указывать размер буфера по умолчанию.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку, указанную параметром encoding .

Этот конструктор позволяет изменить кодировку при первом чтении из StreamReader объекта. Параметр detectEncodingFromByteOrderMarks обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Размер буфера в байтах задается параметром bufferSize . Если bufferSize меньше минимально допустимого размера (128 байт), используется минимальный допустимый размер.

Параметр path может быть именем файла, включая файл в UNC-ресурсе универсального соглашения об именовании.

Параметр path не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(Stream, Encoding, Boolean, Int32)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader потока с указанным кодировкой символов, параметром обнаружения байтов порядка байтов и размером буфера.

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)

Параметры

stream
Stream

Поток для чтения.

encoding
Encoding

Кодировка символов, используемая.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

bufferSize
Int32

Минимальный размер буфера в байтах.

Исключения

Поток не поддерживает чтение.

stream или encoding есть null.

bufferSize значение меньше или равно нулю, за исключением -1, которое может указывать размер буфера по умолчанию.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Размер буфера в байтах задается параметром bufferSize . Если bufferSize меньше минимально допустимого размера (128 байт), используется минимальный допустимый размер.

Этот конструктор позволяет изменить кодировку при первом чтении из StreamReader объекта. Параметр detectEncodingFromByteOrderMarks обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Объект StreamReader вызывает Dispose() предоставленный Stream объект при StreamReader.Dispose вызове.

Замечание

При чтении из Streamнее более эффективно использовать буфер, который имеет тот же размер, что и внутренний буфер потока.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(Stream, Encoding, Boolean)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader потока с указанным параметром кодировки символов и параметра обнаружения меток порядка байтов.

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)

Параметры

stream
Stream

Поток для чтения.

encoding
Encoding

Кодировка символов, используемая.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

Исключения

stream не поддерживает чтение.

stream или encoding есть null.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку, указанную encoding параметром, BaseStream свойством с помощью stream параметра и внутренним размером буфера до 1024 байт.

Параметр detectEncodingFromByteOrderMarks обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Объект StreamReader вызывает Dispose() предоставленный Stream объект при StreamReader.Dispose вызове.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(String, Encoding, Boolean)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с указанным параметром кодирования символов и параметра обнаружения байтового порядка.

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)

Параметры

path
String

Полный путь к файлу для чтения.

encoding
Encoding

Кодировка символов, используемая.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

Исключения

path — пустая строка ("").

path или encoding есть null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку, указанную encoding параметром, и внутренний размер буфера до 1024 байтов.

Параметр detectEncodingFromByteOrderMarks обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Параметр path может быть именем файла, включая файл в UNC-ресурсе универсального соглашения об именовании.

Параметр path не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(String, FileStreamOptions)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр StreamReader класса для указанного пути к файлу, используя кодировку по умолчанию, позволяя обнаруживывать метки порядка байтов в начале файла и настраивать указанный FileStreamOptions объект.

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

Параметры

path
String

Полный путь к файлу для чтения.

options
FileStreamOptions

Объект, указывающий параметры конфигурации для базового FileStreamобъекта.

Исключения

path не является читаемым.

–или–

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

path или options есть null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

См. также раздел

Применяется к

StreamReader(String, Boolean)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с указанным параметром обнаружения меток порядка байтов.

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)

Параметры

path
String

Полный путь к файлу для чтения.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

Исключения

path — пустая строка ("").

path равно null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку UTF8Encodingв , BaseStream свойство с помощью stream параметра и внутренний размер буфера до 1024 байт.

Параметр path может быть именем файла, включая файл в UNC-ресурсе универсального соглашения об именовании.

Параметр path не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.

Параметр detectEncodingFromByteOrderMarks обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. UTF8Encoding В противном случае используется. Дополнительные сведения см. в методе Encoding.GetPreamble .

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(Stream, Encoding)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader потока с заданным кодировкой символов.

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)

Параметры

stream
Stream

Поток для чтения.

encoding
Encoding

Кодировка символов, используемая.

Исключения

stream не поддерживает чтение.

stream или encoding есть null.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Кодировка символов задается параметром encoding , а размер буфера — 1024 байта. Объект StreamReader пытается обнаружить кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Объект StreamReader вызывает Dispose() предоставленный Stream объект при StreamReader.Dispose вызове.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(Stream, Boolean)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader потока с указанным параметром обнаружения меток порядка байтов.

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)

Параметры

stream
Stream

Поток для чтения.

detectEncodingFromByteOrderMarks
Boolean

Указывает, следует ли искать метки порядка байтов в начале файла.

Исключения

stream не поддерживает чтение.

stream равно null.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку UTF8Encodingв , BaseStream свойство с помощью stream параметра и внутренний размер буфера до 1024 байт.

Параметр detectEncodingFromByteOrderMarks обнаруживает кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. Дополнительные сведения см. в методе Encoding.GetPreamble .

Объект StreamReader вызывает Dispose() предоставленный Stream объект при StreamReader.Dispose вызове.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(String)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader имени файла.

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

Параметры

path
String

Полный путь к файлу для чтения.

Исключения

path — пустая строка ("").

path равно null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Полный путь к файлу указывается параметром path . Этот конструктор инициализирует кодировку UTF8Encoding и размер буфера до 1024 байт.

Параметр path может быть именем файла, включая файл в UNC-ресурсе универсального соглашения об именовании.

Параметр path не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

StreamReader(String, Encoding)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs

Инициализирует новый экземпляр класса для указанного StreamReader имени файла с заданным кодировкой символов.

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)

Параметры

path
String

Полный путь к файлу для чтения.

encoding
Encoding

Кодировка символов, используемая.

Исключения

path — пустая строка ("").

path или encoding есть null.

Не удается найти файл.

Указанный путь недопустим, например на несопоставленном диске.

path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.

Примеры

В следующем примере кода показан этот StreamReader конструктор.

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

Комментарии

Этот конструктор инициализирует кодировку, указанную encoding параметром, и внутренний размер буфера до 1024 байтов. Объект StreamReader пытается обнаружить кодировку, просматривая первые четыре байта потока. Он автоматически распознает UTF-8, малоконечный UTF-16, big-endian UTF-16, малоконечный UTF-32 и текст UTF-32, если файл начинается с соответствующих меток порядка байтов. В противном случае используется кодирование, предоставленное пользователем. Дополнительные сведения см. в методе Encoding.GetPreamble .

Параметр path может быть именем файла, включая файл в UNC-ресурсе универсального соглашения об именовании.

Параметр path не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.

Предостережение

При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к