Net, класи streamwriter і streamreader

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

Щоб наблизити вас до розуміння основних можливостей записи класів StreamWriter і StringWriter, нижче представлені описи основних членів абстрактного базового класу TextWriter:

Цей метод закриває об'єкт-письменник і звільняє всі пов'язані з ним ресурси. В процесі автоматично скидається буфер (знову-таки, цей член функціонально еквівалентний методу Dispose ())

Цей метод очищає все буфери поточного об'єкта-письменника і записує все буферізованние дані на лежить в основі пристрій, однак, не закриває його

Це властивість задає константу перекладу рядка для успадкованого класу письменника. За замовчуванням обмежувачем рядки в Windows є повернення каретки, за яким слід новий рядок (\ r \ n)

Цей перевантажений метод записує дані в текстовий потік без додавання константи нового рядка

Цей перевантажений метод записує дані в текстовий потік з додаванням константи нового рядка

Останні два члена класу TextWriter, швидше за все, здадуться знайомими. Якщо пам'ятаєте, тип System.Console має члени Write () і WriteLine (), які виштовхують текстові дані на стандартний пристрій виводу. Фактично властивість Console.In зберігає TextReader, a Console.Out - TextWriter.

Успадкований клас StreamWriter повинен надати таку ж реалізацію методів Write (), Close () і Flush (), а також визначає додаткове властивість AutoFlush. Коли це властивість встановлено в true, воно змушує StreamWriter виштовхувати дані при кожній операції запису. Майте на увазі, що можна забезпечити більш високу продуктивність, встановивши AutoFlush в false, але при цьому завжди викликати Close () по завершенні роботи з StreamWriter.

За угодою, якщо файл має формат ASCII, він буде просто містити текст. Якщо ж файл має якийсь з форматів Unicode, про це буде обов'язково повідомлятиметься в перших двох або трьох байтах файлу, в яких встановлюються певні комбінації значень для позначення використовуваного в файлі формату.