Назад
Вперед
Зміст
Клас StreamWriter
Клас StreamWriter призначений для організації вихідного символьного потоку.
Створення об'єкта
Клас має кілька конструкторів:
- Якщо потрібен текстовий файл у кодуванні юнікод (UTF-8), використовується конструктор з одним параметром — повне ім’я створюваного файлу.
Якщо вказано тільки ім’я файлу (без шляху), то файл створюється в тій папці, де розташована програма (зазвичай
bin\Debug).
StreamWriter f = new StreamWriter("c:\\temp\\t.txt");
|
- Якщо потрібен файл у кодуванні Windows-1251 (ANSI), використовується конструктор з трьома параметрами:
1 — повне ім’я файлу, 2 —
false означає створення нового файлу, 3 — вказує, що виконується перекодування з UTF-8 у ANSI:
StreamWriter f = new StreamWriter("1.txt", false, Encoding.GetEncoding(1251));
|
- Для дозапису у вже існуючий файл використовується конструктор, де другий параметр має значення
true — дозапис.
Якщо потрібно перекодування, додається третій параметр.
StreamWriter f = new StreamWriter("c:\\temp\\t.txt", true);
|
Для запису або дозапису в файл використовуються методи Write та WriteLine.
Метод WriteLine
Приклад 1
У цьому випадку до файлу буде записано два рядки: спочатку — слово test1, потім test2, і курсор перейде на новий рядок.
string s1 = "test1", s2 = "test2";
f.WriteLine(s1);
f.WriteLine(s2);
|
Приклад 2
У цьому випадку буде записано три рядки: test1, порожній рядок і test2.
string s1 = "test1", s2 = "test2";
f.WriteLine(s1);
f.WriteLine();
f.WriteLine(s2);
|
Метод Write
Приклад
У цьому випадку буде записано один рядок з двома словами, розділеними пробілом.
string s1 = "test1", s2 = "test2";
f.Write("{0} ", s1);
f.Write(s2);
|
Автоматичне перетворення типів при записі
Методи Write та WriteLine автоматично перетворюють числові типи в рядкові при виведенні у файл — так само, як при виведенні на екран.
int n1 = 100;
double n2 = 34.5678;
f.Write("n1={0} ", n1);
f.Write("n2={0:F2}", n2);
|
У цьому прикладі буде записано рядок: n1=100 n2=34,57
Метод Close
Після завершення роботи з файлом його потрібно обов’язково закрити методом Close().
Це забезпечує запис на диск навіть неповного буфера.
Назад
Вперед
Зміст