Пошук по сайту  

   

Пошук роботи!  

Вакансії C# developer

Работа в Украине

   

Реклама  

Скачуйте відеуроки для створення сайту за допомогою SMS Joomla 

реклама

 

 

   

Ми в Facebook  

   

Статистика  

Користувачі
3
Статті
203
Перегляди статей
1922232
   

Реклама в мережі  

   

Ми знаходимось тут  

   

Посібник Delphi  

ДОСТУПНИЙ ВИКЛАД,

ЦІКАВІ ПРИКЛАДИ, ВИХІДНІ КОДИ.

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 500 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Посібник по C#  

 Вивчаємо сучасну мову  програмування C# 7.0

ПРОГРАМУЄМО в VISUAL STUDIO 2017

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 1000 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

Тут Подяка на підтримку сайту
 
   

Випадкове фото  

   

Наш відеоканал  

   

Відвідування сайту  

Яндекс.Метрика

 

   

Відеокурс по С++  

   

Рекомендуємо:  

   

Файл - це набір даних, який зберігається на зовнішньому запам'ятовуючому пристрої (наприклад на жорсткому диску). Файл має ім'я і розширення. Розширення дозволяє ідентифікувати, які дані і в якому форматі зберігаються у файлі.

Під роботою з файлами мається на увазі:

- Створення файлів;

- Видалення файлів;

- Читання даних;

- Запис даних;

- Зміна параметрів файлу (ім'я, розширення ...);

- Інше.

У Сі-шарп є простір імен System.IO, в якому реалізовані всі необхідні нам класи для роботи з файлами. Щоб підключити цей простір імен, необхідно на самому початку програми додати рядок using System.IO. Для використання кодувань ще додамо простір using System.Text;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

 

Як створити файл?

Для створення порожнього файлу, в класі File є метод Create (). Він приймає один аргумент - шлях. Нижче наведено приклад створення порожнього текстового файлу new_file.txt на диску D:

static void Main (string [] args)

{

   File.Create ("D: \\ new_file.txt");

}

 

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

Метод WriteAllText () створює новий файл (якщо такого немає), або відкриває існуючий і записує текст, замінюючи все, що було у файлі:

static void Main (string [] args)

{

   File. WriteAllText ("D: \\ new_file.txt", "текст");

}

 

Метод AppendAllText () працює, як і метод WriteAllText () за винятком того, що новий текст дописується в кінець файлу, а не переписує все що було у файлі:

static void Main (string [] args)

{

   File.AppendAllText ("D: \\ new_file.txt", "текст методу AppendAllText ()"); // допише текст в кінець файлу

}

 

Як видалити файл?

Метод Delete () видаляє файл за зазначеною шляхи:

static void Main (string [] args)

{

   File.Delete ("d: \\ test.txt"); // видалення файлу

}

Крім того, щоб читати / записувати дані у файл з Сі-шарп можна використовувати потоки.

Потік - це абстрактне уявлення даних (у байтах), яке полегшує роботу з ними. Як джерело даних може бути файл, пристрій вводу-виводу, принтер.

Клас Stream є абстрактним базовим класом для всіх потокових класів у Сі-шарп. Для роботи з файлами нам знадобиться клас FileStream (файловий потік).

FileStream - представляє потік, який дозволяє виконувати операції читання / запису в файл.

static void Main (string [] args)

{

   FileStream file = new FileStream ("d: \\ test.txt", FileMode.Open

, FileAccess.Read); // відкриває файл тільки на читання

}

 

Режими відкриття FileMode:

- Append - відкриває файл (якщо існує) і переводить покажчик в кінець файлу (дані будуть дописуватися в кінець), або створює новий файл. Даний режим можливий тільки при режимі доступу FileAccess.Write.

- Create - створює новий файл (якщо існує - замінює)

- CreateNew - створює новий файл (якщо існує - генерується виключення)

- Open - відкриває файл (якщо не існує - генерується виключення)

- OpenOrCreate - відкриває файл, або створює новий, якщо його не існує

- Truncate - відкриває файл, але всі дані всередині файлу затирає (якщо файлу не існує - генерується виключення)

static void Main (string [] args)

{

   FileStream file1 = new FileStream ("d: \\ file1.txt", FileMode.CreateNew); // створення нового файлу

   FileStream file2 = new FileStream ("d: \\ file2.txt", FileMode.Open); // відкриття існуючого файлу

   FileStream file3 = new FileStream ("d: \\ file3.txt", FileMode.Append); // відкриття файлу на дозапис в кінець файлу

}

 

Режим доступу FileAccess:

 

- Read - відкриття файлу лише на читання. При спробі запису генерується виключення

- Write - відкриття файлу тільки на запис. При спробі читання генерується виключення

- ReadWrite - відкриття файлу на читання і запис.

 

Читання з файлу

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

static void Main (string [] args)

{

   FileStream file1 = new FileStream ("d: \\ test.txt", FileMode.Open); // створюємо файловий потік

   StreamReader reader = new StreamReader (file1); // Створюємо «потоковий читач» і пов'язуємо його з файловим потоком

   Console.WriteLine (reader.ReadToEnd ()); // зчитуємо всі дані з потоку і виводимо на екран

   reader.Close (); // закриваємо потік

   Console.ReadLine ();

}

 

Метод ReadToEnd () зчитує всю інформацію з файлу. ReadLine () - зчитує один рядок (покажчик потоку при цьому переходить на новий рядок, і при наступному виклику методу буде зчитана наступна рядок).

Властивість EndOfStream вказує, чи знаходиться поточна позиція в потоці в кінці потоку (чи досягнуто кінець файлу). Повертає true або false.

 

Запис у файл

Для запису даних у потік використовується клас StreamWriter. Приклад запису у файл:

static void Main (string [] args)

{

   FileStream file1 = new FileStream ("d: \\ test.txt", FileMode.Create); // створюємо файловий потік

  StreamWriter writer = new StreamWriter (file1); // створюємо «потоковий письменник» і пов'язуємо його з файловим потоком

   writer.Write ("текст"); // записуємо у файл

   writer.Close (); // закриваємо потік. Чи не закривши потік, у файл нічого не запишеться

}

 

Метод WriteLine () записує в файл відрядковий (те ж саме, що і проста запис за допомогою Write (), тільки в кінці додається новий рядок).

Потрібно завжди пам'ятати, що після роботи з потоком, його треба закрити (звільнити ресурси), використавши метод Close ().

Кодування, в якій будуть зчитуватися / записуватися дані вказується при створенні StreamReader / StreamWriter:

 

static void Main (string [] args)

{

   FileStream file1 = new FileStream ("d: \\ test.txt", FileMode.Open);

   StreamReader reader = new StreamReader (file1, Encoding.Unicode);

   StreamWriter writer = new StreamWriter (file1, Encoding.UTF8);

}

 

Крім того, при використанні StreamReader і StreamWriter можна не створювати окремо файловий потік FileStream, а зробити це відразу при створенні StreamReader / StreamWriter:

static void Main (string [] args)

{

   StreamWriter writer = new StreamWriter ("d: \\ test.txt"); // вказуємо шлях до файлу, а не потік

   writer.WriteLine ("текст");

   writer.Close ();

}

 

Як створити папку?

За допомогою статичного методу CreateDirectory () класу Directory:

static void Main (string [] args)

{

  Directory.CreateDirectory ("d: \\ new_folder");

}

 

Як видалити папку?

Для видалення папок використовується метод Delete ():

static void Main (string [] args)

{

   Directory.Delete ("d: \\ new_folder"); // видалення порожній папки

}

 

Якщо папка не порожня, необхідно вказати параметр рекурсивного видалення - true:

static void Main (string [] args)

{

   Directory.Delete ("d: \\ new_folder", true); // видалення папки, і все, що всередині

}

 

Домашнє завдання

Завдання 1. Створіть файл numbers.txt і запишіть в нього натуральні числа від 1 до 500 через кому.

Завдання 2. Дан масив рядків: "red", "green", "black", "white", "blue". Запишіть у файл елементи масиву підрядник (кожен елемент у новому рядку).

Завдання 3. Візьміть будь-який текстовий файл, і знайдіть в ньому розмір самої довжини рядка.

   

Поділіться з друзями!

Соціальні мережі

   

Сайт для перевірки своїх знань з програмування на сайті:http://www.quizful.net/test

Онлайн тести  для програмістів: https://proghub.ru/


 Розробка сайтів, інтернет-магазинів під ключ. Створення програмного забезпечення для обліку в магазинах,

гуртовнях, ведення власного бізнесу та інших. Написання дипломних та курсових робіт з програмування, баз даних.

 

Звертайтесь за адресою email:kuzbyt@ukr.net

 

 

© (C) Sambir, I.Kuzbyt