streamreader c что это

Классы StreamWriter и StreamReader

Классы StreamWriter и StreamReader удобны во всех случаях, когда нужно читать или записывать символьные данные (например, строки). Оба типа работают по умолчанию с символами Unicode; однако это можно изменить предоставлением правильно сконфигурированной ссылки на объект System.Text.Encoding. Чтобы не усложнять пример, предположим, что кодировка по умолчанию Unicode вполне устраивает.

Класс StreamReader, унаследован от абстрактного класса по имени TextReader. Базовый класс предлагает очень ограниченный набор функциональности каждому из его наследников, в частности — возможность читать и «заглядывать» (peek) в символьный поток.

Класс StreamWriter наследуется от абстрактного базового класса по имени TextWriter. В этом классе определены члены, позволяющие производным типам записывать текстовые данные в заданный символьный поток.

Чтобы приблизить вас к пониманию основных возможностей записи классов StreamWriter и StringWriter, ниже представлены описания основных членов абстрактного базового класса TextWriter:

Close()

Этот метод закрывает объект-писатель и освобождает все связанные с ним ресурсы. В процессе автоматически сбрасывается буфер (опять-таки, этот член функционально эквивалентен методу Dispose())

Flush ()

Этот метод очищает все буферы текущего объекта-писателя и записывает все буферизованные данные на лежащее в основе устройство, однако, не закрывает его

NewLine

Это свойство задает константу перевода строки для унаследованного класса писателя. По умолчанию ограничителем строки в Windows является возврат каретки, за которым следует перевод строки (\r\n)

Write()

Этот перегруженный метод записывает данные в текстовый поток без добавления константы новой строки

WriteLine()

Этот перегруженный метод записывает данные в текстовый поток с добавлением константы новой строки

Последние два члена класса TextWriter, скорее всего, покажутся знакомыми. Если помните, тип System.Console имеет члены Write() и WriteLine(), которые выталкивают текстовые данные на стандартное устройство вывода. Фактически свойство Console.In хранит TextReader, a Console.Out — TextWriter.

Унаследованный класс StreamWriter предоставляет соответствующую реализацию методов Write(), Close() и Flush(), а также определяет дополнительное свойство AutoFlush. Когда это свойство установлено в true, оно заставляет StreamWriter выталкивать данные при каждой операции записи. Имейте в виду, что можно обеспечить более высокую производительность, установив AutoFlush в false, но при этом всегда вызывать Close() по завершении работы с StreamWriter.

Используя классы StreamReader и StreamWriter, не нужно беспокоиться о применяемой в файле кодировке (формате текста). К числу возможных кодировок относятся ASCII (1 байт на каждый символ) и Unicode с его разновидностями UTF7, UTF8 и UTF32. Текстовые файлы в системах Windows 9х всегда используют кодировку ASCII, потому что в них Unicode не поддерживается. Но поскольку в ОС Windows NT, 2000, XP, 2003, Vista, Windows Server 2008 и Windows 7 кодировка Unicode поддерживается, теоретически текстовые файлы могут содержать данные не ASCII, а Unicode, UTF7, UTF8 и UTF32.

По соглашению, если файл имеет формат ASCII, он будет просто содержать текст. Если же файл имеет какой-то из форматов Unicode, об этом будет обязательно сообщаться в первых двух или трех байтах файла, в которых устанавливаются определенные комбинации значений для обозначения используемого в файле формата.

Источник

Stream Reader Класс

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Реализует объект TextReader, который считывает символы из потока байтов в определенной кодировке.

Примеры

В следующем примере экземпляр используется StreamReader для считывания текста из файла. конструктор, используемый в этом примере, не поддерживается для использования в приложениях Windows Store.

В следующем примере создается экземпляр StreamReader объекта и вызывается его ReadAsync метод для асинхронного чтения файла.

Комментарии

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

StreamReader по умолчанию используется кодировка UTF-8, если не указано иное, вместо использования по умолчанию кодовой страницы ANSI для текущей системы. UTF-8 обрабатывает символы Юникода правильно и обеспечивает единообразные результаты в локализованных версиях операционной системы. При получении текущей кодировки символов с помощью CurrentEncoding свойства значение не является надежным до первого Read метода, так как автоматическое обнаружение кодировки не выполняется до первого вызова Read метода.

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Объект StreamReader для пустого потока.

Свойства

Возвращает основной поток.

Возвращает текущую кодировку символов, используемую текущим объектом StreamReader.

Получает значение, определяющее, находится ли позиция текущего потока в конце потока.

Методы

Закрывает объект StreamReader и основной поток и освобождает все системные ресурсы, связанные с устройством чтения.

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

Очищает внутренний буфер.

Освобождает все ресурсы, используемые объектом TextReader.

Закрывает основной поток, освобождает неуправляемые ресурсы, используемые StreamReader, и при необходимости освобождает управляемые ресурсы.

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

Служит хэш-функцией по умолчанию.

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

Возвращает объект Type для текущего экземпляра.

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

Создает неполную копию текущего объекта Object.

Создает неполную копию текущего объекта MarshalByRefObject.

Возвращает следующий доступный символ, но не использует его.

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

Считывает заданное максимальное количество символов из текущего потока в буфер начиная с заданного индекса.

Считывает символы из текущего потока в диапазон.

Считывает символы из текущего потока чтения и записывает данные в указанный буфер.

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

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

Считывает символы из текущего потока в блок памяти в асинхронном режиме.

Считывает символы из текущего потока в блок памяти в асинхронном режиме.

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

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

Считывает символы из текущего потока и записывает данные в буфер.

Считывает символы из текущего потока и записывает данные в буфер.

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

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

Считывает символы из текущего потока и записывает данные в буфер в асинхронном режиме.

Считывает символы из текущего потока и записывает данные в буфер в асинхронном режиме.

Выполняет чтение строки символов из текущего потока и возвращает данные в виде строки.

Асинхронно выполняет чтение строки символов из текущего потока и возвращает данные в виде строки.

Асинхронно считывает строку символов и возвращает данные в виде строки.

Считывает все символы, начиная с текущей позиции до конца потока.

Асинхронно считывает все символы, начиная с текущей позиции до конца потока, и возвращает их в виде одной строки.

Асинхронно считывает все символы с текущей позиции до конца средства чтения текста и возвращает их в виде одной строки.

Возвращает строку, представляющую текущий объект.

Явные реализации интерфейса

Описание этого члена см. в разделе Dispose().

Источник

Классы StreamWriter и StreamReader

Дата изменения: 10.10.2017

Файл, ранится ли он в оперативной памяти в сетевом сокете или на диске – это всегда последовательность двоичного кода. В общем случае, данные из файла сначала считываются и лишь затем интерпретируются, чтобы указать управляющей среде как с ними работать.

Потоковый ввод-вывод предназначен для считывания и записи байтов из файла в файл. Но если файл хранит текст, такой подход неэффективен. Ведь символы кодируются и количество байт необходимых для представления символа в тексте меняется в зависимости от кодировки. Так старая кодировка ASCII использует один байт на символ, а UTF8 – уже восемь.

Чтобы работать с файлом как хранилищем символов предназначены классы StreamWriter и StreamReader. Оба класса наследуются от TextWriter и TextReader соответственно, функционал которых расширен для работы с файловыми потоками.

Члены классов

Классы StreamReader и StreamWriter предоставляют читающий или пишущий объект для созданного потока в файл.

Так, например, один из методов классов – Flush, который очищает все внутренние буферы объекта (писателя или читающего) и записывает буферизованные данные на прикрепленный объект. Кроме того, классы имеют свойство AutoFlush, которое позволяет установить автоматический сброс буфера в поток, после завершения одного из методов записи.

Запись строк в файл производится методами класса StreamWrite Write и WriteLine.

Write преобразует тип переданный ей в качестве параметра в последовательность символов и записывает их в файл. WriteLine записывает строку и содержит последовательность возврата каретки (переводит ввод текста в начало новой строки).

Каждый из предыдущих методов позволяет задать кодировку, в которой нужно писать символы в файл. Для этого в качестве второго параметра методов Write и WriteLine передают объект кодировки. Кодировка по умолчанию – UTF8, то есть в методы передается объект UTF8Encoding. Но программист волен создать и передать любой другой.

При записи методы SreamWriterWrite и WriteLine кроме основной строки передают также маркеры байтовой кодировки, соответствующие выбранной.

Для считывания используются методы класса StreamReader Read и ReadLine. Read считывает количество символов, указанное в первом параметре. ReadLine считывает текст по одной строке. Эти методы узнают в какой кодировке записан текст по маркерам байтовой кодировки и соответственно считывают его.

Оба класса реализуют интерфейс IDisposable, поэтому имеют метод освобождающий все их внутренние ресурсы – Close. Его нужно вызвать после окончания всех записей в файл или чтений из него текущих читающего или пишущего объектов.

Использование классов

В следующем примере демонстрируется взаимодействие между классами StreamReader и StreamWriter на основе одного файла.

В следующем примере это демонстрируется:

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

Ключевое слово task перед именем асинхронного метода (в определении) указывает что метод помещен в задачу.

Источник

BestProg

Методы класса StreamReader

Данная тема есть продолжением темы:

Содержание

Поиск на других ресурсах:

1. Подключение пространства имен System.IO

Во всех нижеследующих примерах, чтобы использовать методы, нужно предварительно подключить пространства имен System и System.IO

2. Методы класса StreamReader
2.1. Методы Close() и Dispose()

Согласно документации методы Close() и Dispose() имеют следующую общую форму:

Метод Close() закрывает объект типа StreamReader и базовый поток а также освобождает любые системные ресурсы, ассоциированные с этим объектом.

Использование метода Close() выглядит следующим образом

Аналогично может быть вызван метод Dispose()

2.2. Метод Peek()

Метод Peek() используется, когда нужно заранее определить следующий символ, который будет прочитан из потока. Метод возвращает следующий символ потока но не перемещает указатель чтения из файла. Согласно документации, объявление метода имеет вид:

Пример. В примере, с помощью метода Read() происходит посимвольно чтение файла и вывод его содержимого на экран.

Другая перегруженная реализация метода Read() предназначена для чтения набора символов в указанный буфер и имеет следующее объявление

При использовании метода обрабатываются следующие исключения:

Метод ReadBlock() считывает набор символов из потока ввода в указанный участок памяти. Метод имеет следующее объявление

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

Метод ReadLine() используется для чтения строки из файлового потока. Согласно документации, метод имеет следующее объявление

При использовании метода могут возникать исключения следующих типов:

Пример. В примере построчно считывается текстовый файл и выводится на экран.

2.7. Метод ReadToEnd()

Метод ReadToEnd() считывает все символы с текущей позиции чтения до конца потока. Объявления метода имеет вид

При использовании метода могут возникать исключения следующих типов:

3. Свойства класса StreamReader

Пример. В примере определяется размер файла в байтах с помощью ссылки на базовый поток.

Свойство CurrentEncoding позволяет получить объект, содержащий данные о текущей кодировке в потоке. Объявление свойства следующее:

Чтобы использовать свойство можно написать примерно следующий код

Свойство EndOfStream предназначено для определения того, указывает ли текущая позиция потока на конец потока. Объявление свойства имеет вид

Источник

Stream Reader Конструкторы

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

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

Перегрузки

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

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

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

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

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

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

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

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

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

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

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

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

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

StreamReader(Stream)

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

Параметры

Поток, который нужно считать.

Исключения

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

Примеры

Комментарии

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(String)

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

Параметры

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

Исключения

Параметр path является пустой строкой («»).

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

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

Примеры

Комментарии

path Параметр может быть именем файла, включая файл в общей папке UNC.

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(Stream, Boolean)

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

Параметры

Поток, который нужно считать.

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

Исключения

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

Примеры

Комментарии

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(Stream, Encoding)

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

Параметры

Поток, который нужно считать.

Кодировка символов, которую нужно использовать.

Исключения

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

Примеры

Комментарии

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(String, Boolean)

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

Параметры

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

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

Исключения

Параметр path является пустой строкой («»).

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

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

Примеры

Комментарии

path Параметр может быть именем файла, включая файл в общей папке UNC.

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(String, FileStreamOptions)

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

Параметры

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

Исключения

stream недоступно для чтения.

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

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

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

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

StreamReader(String, Encoding)

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

Параметры

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

Кодировка символов, которую нужно использовать.

Исключения

Параметр path является пустой строкой («»).

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

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

Примеры

Комментарии

path Параметр может быть именем файла, включая файл в общей папке UNC.

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(Stream, Encoding, Boolean)

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

Параметры

Поток, который нужно считать.

Кодировка символов, которую нужно использовать.

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

Исключения

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

Примеры

Комментарии

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

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(String, Encoding, Boolean)

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

Параметры

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

Кодировка символов, которую нужно использовать.

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

Исключения

Параметр path является пустой строкой («»).

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

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

Примеры

Комментарии

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

path Параметр может быть именем файла, включая файл в общей папке UNC.

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(Stream, Encoding, Boolean, Int32)

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

Параметры

Поток, который нужно считать.

Кодировка символов, которую нужно использовать.

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

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

Исключения

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

bufferSize меньше или равно нулю.

Примеры

Комментарии

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

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

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

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

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

StreamReader(String, Encoding, Boolean, Int32)

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

Параметры

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

Кодировка символов, которую нужно использовать.

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

Минимальный размер буфера (в 16-разрядных символах).

Исключения

Параметр path является пустой строкой («»).

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

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

buffersize меньше или равно нулю.

Примеры

Комментарии

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

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

path Параметр может быть именем файла, включая файл в общей папке UNC.

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

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

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *