C # файли і як з ними працювати, блог доброго програміста

Сьогодні я вирішив розповісти тим, хто ще тільки починає вивчати мову програмування C # про механізм роботи з файлами.
Робота з файлами в C # можлива завдяки дуже потужному неймспейсу System.IO. Ми розглянемо дві основні можливості даної бібліотеки - робота з файлами і робота з текстовими файлами. Да да, розробники приділили окрему увагу методам для роботи з текстовими файлами - за що їм варто сказати величезне спасибі. Адже це значно полегшує процес розробки. Почнемо розглядати методи роботи з файлами.

Робота з текстовими файлами в C #

Для роботи з текстовими файлами застосовуються два класи StreamReader і StreamWriter. За назвою класів видно, що перший використовується для роботи з файлами в режимі читання, другий для роботи в режимі запису. Вони інтуїтивно зрозумілі, так як всі їх методи явно відображають дії. Наведемо приклад читання по рядках:

Об'єкт sr так само має методи ReadToEnd, ReadBlock і інші. Назви цих методів говорять самі за себе.

Приклад запису в файл:

Так само варто відзначити, що обидва класи реалізують інтерфейс IDisposable. А це означає, що краще використовувати конструкцію using.

Більш того в бібліотеці IO є кілька визначених найбільш часто використовуваних операцій. Немає сенсу докладно описувати ці функції, потрібно просто запам'ятати їх 🙂

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

Читання всього текстового файлу через підрядник в масив

Робота з бінарними файлами в C #

C # дозволяє дуже гнучко працювати з бінарними файлами. У зв'язку з цим варіантів написати один і той же код дуже багато. Тому я просто наведу приклад базової роботи з файлами на прикладі копіювання файлу з використанням FileStream.

Примітка: Параметри FileMode, FileAccess і FileShare грають дуже важливу. Вони відповідають за прапори, які будуть проставлені файлу, поки він зайнятий вашою програмою. Саме вони можуть заборонити / дозволити доступ до файлу стороннім програмам, або «попросити» дозвіл на читання вже зайнятого файлу.