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 или encodingoptions есть null.
Не удается найти файл.
Указанный путь недопустим, например на несопоставленном диске.
path содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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нее более эффективно использовать буфер, который имеет тот же размер, что и внутренний буфер потока.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 вызове.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 содержит неправильный или недопустимый синтаксис для имени файла, имени каталога или метки тома.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 вызове.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
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 не является обязательным для хранения файла на диске; он может быть любой частью системы, поддерживающей доступ с помощью потоков.
Предостережение
При компиляции набора символов с определенным культурным параметром и получения этих же символов с другим культурным параметром символы могут быть не интерпретируемыми и могут вызвать исключение.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
См. также раздел
- Encoding
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл