Робота з файлами в c #


Таблиця 5 - значення FileAccess

Запис в текстовий файл за допомогою класу StreamWriter

Текстові дані або будь-яку іншу інформацію можна записати в файл використовуючи метод CreateText () в класі FileInfo. Однак попередньо необхідно отримати валідний StreamWriter. Саме StreamWrite забезпечує необхідну функціональність для запису в файл. Наступний приклад ілюструє це:

Читання з текстового файлу

Для читання з текстового файлу можна скористатися класом StreamReader. Для цього необхідно вказати ім'я файлу в статичному методі OpenText () класу File. Наступний приклад зчитує вміст файлу, яке було записано в попередньому прикладі:

Робота з різними кодуваннями.

За замовчуванням в .NET все текстові дані в кодуванні UTF8, але часто потрібно вважати текстовий файл, збережений в іншому кодуванні, припустимо в WIN1251. В такому випадку якщо в файлі був російський текст в кодуванні WIN1251, при зчитуванні його в UTF8 ми отримаємо нечитабельним дані. Для того щоб переводити рядки з одного кодування в іншу існує клас Encoding з простору імен System.Text, завдяки якому знаючи вихідну кодування ми можемо привести текстові дані до належним кодуванням. Розглянемо наступний приклад, наприклад, ми хочемо конвертувати зчитану рядок в кодуванні WIN1251 в кодування DOS (866), для цього ми можемо використовувати наступний код:

У sourceBytes ми отримали вхідні рядок у вигляді масиву байт, які далі ми можемо так само за допомогою Encoding зберегти в рядок з потрібною кодуванням. У разі, коли ми читаємо текст уже відомої кодуванні з файлу, справи йдуть ще простіше. При створенні екземпляра StreamReader ми можемо явно вказати кодування джерела, код буде виглядати наступним чином:

При записи в файл із належним кодуванням для StreamWriter так само можна вказати кодування, в якій буде текст.

Схожі статті