Клас streamreader ()

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

Цей тип реалізує інтерфейс IDisposable. Після завершення за допомогою типу слід звільнити його прямо або побічно. Для видалення типу безпосередньо викликати його Dispose метод try іліcatch блоку. Для видалення його побічно, використовувати мовної конструкції, такі як using (в C #) або Using (в Visual Basic). Додаткові відомості див. У розділі «Використання об'єкта, реалізує IDisposable» IDisposable розділі інтерфейсу.

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

За замовчуванням StreamReader не є потокобезпечна. У розділі TextReader. Synchronized для потокобезпечна оболонку.

Read (Char [], Int32, Int32) І Write (Char [], Int32, Int32) перевантаження методів читання і запису число знаків, вказане в count параметр. Вони відрізняються від BufferedStream. Read і BufferedStream. Write. які зчитують і записують число байтів, вказане в count параметр. Використовуйте BufferedStream методи тільки для читання і запису елементів масиву з цілого кількості байтів.

При читанні з Stream. це більш ефективно використовувати буфер такого ж розміру, як і внутрішній буфер потоку.