Обробка файлів у C#: I/O Operaції [Приклади]
C# має широкий набір файлових операцій. Ці операції включають відкриття файлу, читання або запис у файл. Можуть бути випадки, коли ви захочете працювати з файлами напряму, і в цьому випадку ви скористаєтеся файловими операціями, доступними в C#. Нижче наведено деякі основні операції з файлами.
- Читання – ця операція є основною операцією читання, під час якої дані зчитуються з файлу.
- Запис – ця операція є основною операцією запису, під час якої дані записуються у файл. За замовчуванням весь наявний вміст видаляється з файлу, а новий вміст записується.
- Додавання – ця операція також передбачає запис інформації у файл. Єдина відмінність полягає в тому, що існуючі дані у файлі не перезаписуються. Нові дані для запису додаються в кінець файлу.
Основи команд введення-виведення
C# і .Net можуть працювати з файлами за допомогою кількох команд файлового введення/виведення. Давайте розглянемо деякі з цих команд. Для нашого прикладу ми припустимо, що у нас є файл на диску D під назвою Example.txt.
Файл буде простим текстовим і матиме 2 рядки, як показано нижче
- Guru99 – .Net
- Guru99 -C#
Для нашого прикладу ми створимо просту консольну програму та працюватимемо з нашими командами файлового введення/виведення. Консольна програма є основною, яку було створено в попередньому посібнику. У консольній програмі весь код записується у файл program.cs.
Файл.Існує
Метод File exists використовується для перевірки наявності певного файлу. Тож тепер давайте подивимося код, за допомогою якого можна перевірити, чи існує наш файл Example.txt чи ні. Введіть наведений нижче код у файл program.cs.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; if (File.Exists(path)) { Console.WriteLine("File Exists"); } Console.ReadKey(); } } }
Пояснення коду: -
- По-перше, ми встановлюємо рядкову змінну з шляхом до нашого файлу Example.txt.
- Далі ми використовуємо метод File.Exists, щоб перевірити, чи існує файл чи ні. Якщо файл існує, буде повернено справжнє значення.
- Якщо ми отримуємо справжнє значення і файл існує, ми пишемо повідомлення «Файл існує» на консоль.
Коли наведений вище код встановлено та проект виконується за допомогою Visual Studio, ви отримаєте наведені нижче результати.
Вихід:-
З наведених вище виводів можна побачити, що команду File.Exists було виконано успішно, а у вікні консолі відображено правильне повідомлення.
File.ReadAlllines
Метод використовується для читання всіх рядків у файлі один за одним. Потім рядки зберігаються у змінній масиву рядків. Давайте розглянемо приклад. Введіть наведений нижче код у файл program.cs.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String[] lines; lines = File.ReadAllLines(path); Console.WriteLine(lines[0]); Console.WriteLine(lines[1]); Console.ReadKey(); } } }
Пояснення коду: -
- По-перше, ми оголошуємо змінну рядкового масиву. Це буде використано для збереження результату, який буде повернено методом File.ReadAllLines.
- Далі ми використовуємо метод File.ReadAllLines, щоб прочитати всі рядки з нашого текстового файлу. Потім результат передається до змінної lines.
- Оскільки ми знаємо, що наш файл містить лише 2 рядки, ми можемо отримати доступ до значення змінних масиву за допомогою команд lines[0] і lines[1].
Коли наведений вище код встановлено, а проект запускається за допомогою Visual Studio, ви отримаєте наведений нижче результат.
Вихід:-
Ви можете побачити, що команда File.ReadAllLines повернула обидва рядки з нашого файлу Example.txt
File.ReadAllText
Цей метод використовується для одночасного читання всіх рядків у файлі. Потім рядки зберігаються в рядковій змінній. Давайте розглянемо приклад. Введіть наведений нижче код у файл program.cs.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String lines; lines = File.ReadAllText(path); Console.WriteLine(lines); Console.ReadKey(); } } }
Пояснення коду: -
- По-перше, ми оголошуємо рядкову змінну під назвою Lines. Це буде використано для збереження результату, який буде повернено методом File.ReadAllText.
- Далі ми використовуємо метод File.ReadAllText, щоб прочитати всі рядки з нашого текстового файлу. Потім результат передається до змінної lines.
- Ми можемо безпосередньо використовувати метод Console.Writeline для відображення значення змінної Lines.
Коли наведений вище код встановлено та проект запущено за допомогою Visual Studio, ви отримаєте наведений нижче результат.
Вихід:-
Ви можете побачити, що команда File.ReadAlltext повернула обидва рядки з нашого файлу Example.txt
Файл.Копіювати
Метод використовується для створення копії існуючого файлу. Давайте розглянемо приклад. Введіть наведений нижче код у файл program.cs.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String copypath = @"D:\ExampleNew.txt"; File.Copy(path,copypath); Console.ReadKey(); } } }
Пояснення коду: -
- По-перше, ми оголошуємо рядкову змінну під назвою path. Це буде розташування нашого файлу Example.txt. Цей файл буде вихідним файлом для операції копіювання.
- Далі ми оголошуємо рядкову змінну під назвою copypath. Це буде місце розташування нового файлу під назвою ExampleNew.txt. Це буде файл призначення, у який буде записаний вміст із вихідного файлу Example.txt.
- Потім ми викликаємо метод File.Copy, щоб скопіювати файл Example.txt у файл ExampleNew.txt.
Якщо наведений вище код встановлено та проект запущено за допомогою Visual Studio, файл Example.txt буде скопійовано до ExampleNew.txt.
Файл.Видалити
Метод використовується для видалення існуючого файлу. Давайте розглянемо приклад. Введіть наведений нижче код у файл program.cs.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; File.Delete(path); Console.ReadKey(); } } }
Пояснення коду: -
- По-перше, ми оголошуємо рядкову змінну під назвою path. Це буде розташування нашого файлу Example.txt. Це файл, який буде видалено.
- Далі ми викликаємо метод File.Delete, щоб видалити файл.
Якщо наведений вище код встановлено та проект запущено за допомогою Visual Studio, файл Example.txt буде видалено з диска D.
Підсумки
- У C# є ряд операцій з файлами, які можна виконувати над файлами. Більшість цих операцій є частиною класу File.
- Якщо ви хочете прочитати дані з файлу, ви можете скористатися методами File.ReadAlltext або File.ReadAllLines.
Метод файлу | Опис |
---|---|
Файл.Існує | Метод File exists використовується для перевірки наявності певного файлу. |
File.ReadAlllines | Метод використовується для читання всіх рядків у файлі один за одним. |
File.ReadAllText | Цей метод використовується для одночасного читання всіх рядків у файлі. |
Файл.Копіювати | Метод використовується для створення копії існуючого файлу. |
Файл.Видалити | Метод використовується для видалення існуючого файлу. |