русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Класи для роботи з файловою системою


Дата додавання: 2014-11-27; переглядів: 994.


Робота з файловою системою розуміє під собою обробку як папок (каталогів), так і зареєстрованих в них файлах. Відповідні класи визначені у просторі імен System.IO.

У табл. 6.1 перелічені класи, що використовуються для роботи з файловою системою.

Таблиця 6.1. Класи для роботи з файловою системою

Клас Значення

 

Directory Містить статичні методи для створення та використання папок. Ці методи можна викликати без створення відповідних об’єктів
DirectoryInfo Містить властивості і методи для створення та використання папок. Доступ до членів класу можливий тільки після створення його екземпляру
File Містить статичні методи для роботи з файлами. Ці методи можна викликати без створення об’єкта
FileInfo Містить методи для роботи з класами, які стають доступними після створення об’єкта цього класу
Path Допоміжний клас для роботи з маршрутами доступу (шляхами)

 

Статичні класи Directory та File не потребують відповідних об’єктів. Однак при зверненні до методів запускається система перевірки безпеки доступу до коду (Code Access System, CAS), що уповільнює роботу методів. У зв’язку з цим при обробці декількох папок (файлів) зручніше використовувати класи DirectoryInfo та FileInfo.

Класи для роботи з потоками даних також визначені у просторі імен System.IO і представлені в табл. 6.2.

Таблиця 6.2. Класи для роботи з потоками даних

Клас Призначені
MemoryStream Сховище даних в оперативній пам’яті
NetworkStream Дозволяє передавати потік по мережевому з’єднанні
FileStream Представляє базовий клас потоку для запису та читання файлів
BinaryReader Зчитує дані з двійкових файлів
BinaryWriter Записує дані в двійковий файл
StreamReader Зчитує дані з текстових файлів
StreamWriter Записує дані в текстовий файл

Перед тим як використовувати один із вищевказаних класів, необхідно обов’язково підключити бібліотеку System.IO, для чого потрібно в коді програми додати такий рядок:

using System.IO;

Для роботи з текстовими файлами необхідно створити об’єкт типу FileStream і проініціалізувати його відкритим файлом. Оскільки всі методи класу File статичні (не прив’язані до об’єктів), то немає необхідності створювати екземпляр класу File. Ось типовий приклад ініціалізації об'єкта FileStream:

FileStream myStream = File.Open("С:\MyFile.rxt", FileMode.Open, FileAccess.Read);

При створенні об’єкта FileStream йому передається ім’я файлу і два параметри: FileMode, який визначає спосіб створення потоку, та FileAccess, який регулює доступ потоку до даних. У табл. 6.3 та 6.4 указано допустимі значення цих параметрів.

Таблица 6.3.Значення параметра FileMode

 

Значення Опис
Append Додає записи в існуючий файл або створює новий. Потребує, щоб параметр FileMode мав значенння Write
Create Створює новий файл або переписує існуючий. Потребує, щоб параметр FileMode мав значення Write
CreateNew Створює новий файл, а якщо він вже існує, виникає виключення. Потребує, щоб параметр FileMode мав значення Write
Open Відкриває існуючий файл. Якшо файла немає, виникає виключення
OpenOrCreate Відкриває існуючий або створює новий файл, якщо він ще не створений
Truncate Відкриває існуючий файл та робить його розмір рівним нулю

Таблица 6.4.Значення параметра FileAccess

 

Значення Опис
Read Потік може читати дані
ReadWrite Потік може читати і записувати дані
Write Потік може записувати дані

Платформа Windows Forms має об’єкт OpenFileDialog, який дозволяє виводити на екран стандартне діалогове вікно Windows. Розглянемо, як можна використовувати елемент керування OpenFileDialog у формах Windows шляхом додавання даного об’єкту в Visual Studio, а також відкриття діалогу при натисканні на кнопку і читання в зазначений файл. По-перше, для початку роботи з компонентом OpenFileDialog, необхідно відкрити «Панель элементов», розділ «Диалоговые окна» та обрати елемент OpenFileDialog і двічі клікнути по ньому. Зауважимо, що не можна змінити візуально OpenFileDialog так, як і інші об’єкти Windows Forms у конструкторі. Замість можна змінювати тільки його властивості в панелі властивостей. Для зміни цих властивостей необхідно обрати відповідний об’єкт, наприклад openFileDialog1, перейти на іконку в панелі задач у нижній частині вікна Visual Studio. Розглянемо, як можна відкрити OpenFileDialog. Діалогове вікно не відкриється автоматично, і воно повинно бути використано в призначеному для користувача коді. Для відображення діалогу відкриття файлів, необхідно використати метод ShowDialog:

openFileDialog1.ShowDialog();

Основні властивості та методи OpenFileDialog відображені у таблицях 6.5 та 6.6.

Таблиця 6.5. ВластивостіOpenFileDialog

Назва Опис
FileName Повертає чи задає рядок, що містить назву файла, який вибраний у діалоговому вікні
FileNames Повертає імена всіх обраних файлів у діалоговому вікні
Filter Повертає або задає поточний рядок фільтра імен файлів, який визначає варіанти, доступні в полі "Зберегти як тип файлу" або "Файли типу"
InitialDirectory Повертає або задає початкову папку, відображену діалоговим вікном файлу
Multiselect Повертає або задає значення, яке вказує, чи можна в діалоговому вікні вибирати кілька файлів
SafeFileName Повертає ім'я і розширення файлу, обраного в діалоговому вікні. Файл не включає відомості про шлях
ShowReadOnly Повертає або задає значення, яке вказує, чи є в діалоговому вікні прапорець "доступно тільки для читання"

Таблиця 6.6. Методи OpenFileDialog

Dispose Звільняє всі ресурси, які використовуються об'єктом Component
OnFileOk Викликає подію FileOk
OpenFile Відкриває вибраний користувачем файл у режимі "тільки читання". Файл задається властивістю FileName.
Reset Відновлює значення всіх властивостей за замовчуванням.
RunDialog Інфраструктура. Вказує загальне діалогове вікно.
ShowDialog Запускає загальне діалогове вікно із заданим за умовчанням власником.

Розглянемо на прикладі роботу з об’єктом OpenFileDialog. Нехай необхідно відкрити текстовий файл за допомогою діалогу відкриття файлів та зчитати його зміст у TextBox.

 

// показуєм діалог відкриття файлів

openFileDialog1.ShowDialog();

 

// отрумуємо назву файла

string fileName = openFileDialog1.FileName;

 

//відкриваєм файл для читання та асоціюєм його з потоком

FileStream stream = File.Open(fileName, FileMode.Open, FileAccess.Read);

 

// якщо файл непорожній

if(stream != null)

{

// створюємо об’єкт StreamReader та асоціюєм його з відкритим //потоком

StreamReader reader = new StreamReader(stream);

 

// читаєм весь файл та записуємо його в ТехtВох

textBox1.Text = reader.ReadToEnd ();

 

// закриваємо файл

stream.Close();

}

У таблицях 6.7 та 6.8 відображено властивості та методи FolderBrowserDialog.

Таблиця 6.7. ВластивостіFolderBrowserDialog

Назва Опис

 

1
Description Отримує або задає описовий текст, відображений над елементом управління деревом у діалоговому вікні
RootFolder Отримує або задає кореневу папку, з якої починається перегляд
SelectedPath Отримує або задає шлях, вибраний користувачем
ShowNewFolderButton Отримує або задає значення, яке вказує, чи відображається кнопка New Folder у діалоговому вікні перегляду папок
Site Отримує або задає примірник ISite для компонента Component

Таблиця 6.8. МетодиFolderBrowserDialog

Dispose Звільняє всі ресурси, що використовуються об'єктом Component
OnFileOk Викликає подію FileOk
OpenFile Відкриває вибраний користувачем файл у режимі "тільки читання". Файл задається властивістю FileName
Reset Відновлює значення всіх властивостей за замовчуванням
ShowDialog Запускає загальне діалогове вікно

<== попередня лекція | наступна лекція ==>
Робота з рядками. | Створення та знищення папок


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн