Обробка файлів у C#: I/O Operaції [Приклади]

⚡ Розумний підсумок

Файлові операції в C# дозволяють читати, записувати, копіювати та видаляти файли, використовуючи простір імен System.IO. Тут ви навчитеся використовувати File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy та File.Delete з чіткими прикладами коду.

  • 📂 Що це: Файлові операції C# зчитують, записують, копіюють та видаляють файли через простір імен System.IO.
  • Файл.Існує: File.Exists(path) перевіряє наявність файлу перед його прочитанням або видаленням.
  • ???? Читання: File.ReadAllLines повертає масив рядків, тоді як File.ReadAllText повертає весь файл як один рядок.
  • 📋 Копіювати та видаляти: File.Copy створює дублікат файлу за новим шляхом, а File.Delete видаляє його.
  • 🤖 Допомога ШІ: Інструменти штучного інтелекту, такі як GitHub Copilot, миттєво генерують код для обробки файлів на C#.

Файл C# Operaвих

C# має широкий набір файлових операцій. Ці операції включають відкриття файлу, читання або запис у файл. Можуть бути випадки, коли ви захочете працювати з файлами напряму, і в цьому випадку ви скористаєтеся файловими операціями, доступними в C#. Нижче наведено деякі основні операції з файлами.

  1. Читання – ця операція є основною операцією читання, під час якої дані зчитуються з файлу.
  2. Запис – ця операція є основною операцією запису, під час якої дані записуються у файл. За замовчуванням весь наявний вміст видаляється з файлу, а новий вміст записується.
  3. Додавання – ця операція також передбачає запис інформації у файл. Єдина відмінність полягає в тому, що існуючі дані у файлі не перезаписуються. Нові дані для запису додаються в кінець файлу.

Основи команд введення-виведення

C# і .Net можуть працювати з файлами за допомогою кількох команд файлового введення/виведення. Давайте розглянемо деякі з цих команд. Для нашого прикладу ми припустимо, що у нас є файл на диску D під назвою Example.txt.
Файл буде простим текстовим і матиме 2 рядки, як показано нижче

  • Guru99 – .Net
  • Guru99 -До-ді-джей

Для нашого прикладу ми створимо просту консольну програму та працюватимемо з нашими командами файлового введення/виведення. Консольна програма є основною, яку було створено в попередньому посібнику. У консольній програмі весь код записується у файл 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();
  }
 }
}

Code Пояснення:

  1. По-перше, ми встановлюємо рядкову змінну з шляхом до нашого файлу Example.txt.
  2. Далі ми використовуємо метод File.Exists, щоб перевірити, чи існує файл чи ні. Якщо файл існує, буде повернено справжнє значення.
  3. Якщо ми отримуємо справжнє значення і файл існує, ми пишемо повідомлення «Файл існує» на консоль.

Коли наведений вище код встановлено та проект виконується за допомогою Visual Studio, ви отримаєте наведені нижче результати.

Вихід:-

Файл.Існує

З наведених вище виводів можна побачити, що команду File.Exists було виконано успішно, а у вікні консолі відображено правильне повідомлення.

File.ReadAlllines

Метод використовується для читання всіх рядків у файлі один за одним. Потім рядки зберігаються у змінній масиву рядків. Давайте розглянемо приклад. Введіть наведений нижче код у файл program.cs.

File.ReadAlllines

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();
  }
 }
}

Code Пояснення:

  1. По-перше, ми оголошуємо змінну рядкового масиву. Це буде використано для збереження результату, який буде повернено методом File.ReadAllLines.
  2. Далі ми використовуємо метод File.ReadAllLines, щоб прочитати всі рядки з нашого текстового файлу. Потім результат передається до змінної lines.
  3. Оскільки ми знаємо, що наш файл містить лише 2 рядки, ми можемо отримати доступ до значення змінних масиву за допомогою команд lines[0] і lines[1].

Коли наведений вище код встановлено, а проект запускається за допомогою Visual Studio, ви отримаєте наведений нижче результат.

Вихід:-

File.ReadAlllines

Ви можете побачити, що команда File.ReadAllLines повернула обидва рядки з нашого файлу Example.txt

File.ReadAllText

Цей метод використовується для одночасного читання всіх рядків у файлі. Потім рядки зберігаються в рядковій змінній. Давайте розглянемо приклад. Введіть наведений нижче код у файл program.cs.

File.ReadAllText

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();
   }
  }
}

Code Пояснення:

  1. По-перше, ми оголошуємо рядкову змінну під назвою Lines. Це буде використано для збереження результату, який буде повернено методом File.ReadAllText.
  2. Далі ми використовуємо метод File.ReadAllText, щоб прочитати всі рядки з нашого текстового файлу. Потім результат передається до змінної lines.
  3. Ми можемо безпосередньо використовувати метод Console.Writeline для відображення значення змінної Lines.

Коли наведений вище код встановлено та проект запущено за допомогою Visual Studio, ви отримаєте наведений нижче результат.

Вихід:-

File.ReadAllText

Ви можете побачити, що команда 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();
   }
  }
}

Code Пояснення:

  1. По-перше, ми оголошуємо рядкову змінну під назвою path. Це буде розташування нашого файлу Example.txt. Цей файл буде вихідним файлом для операції копіювання.
  2. Далі ми оголошуємо рядкову змінну під назвою copypath. Це буде місце розташування нового файлу під назвою ExampleNew.txt. Це буде файл призначення, у який буде записаний вміст із вихідного файлу Example.txt.
  3. Потім ми викликаємо метод 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();
   }
  }
}

Code Пояснення:

  1. По-перше, ми оголошуємо рядкову змінну під назвою path. Це буде розташування нашого файлу Example.txt. Це файл, який буде видалено.
  2. Далі ми викликаємо метод File.Delete, щоб видалити файл.

Якщо наведений вище код встановлено та проект запущено за допомогою Visual Studio, файл Example.txt буде видалено з диска D.

Довідник методів файлів C#

У таблиці нижче наведено основні методи файлів C# та їхні функції.

Метод файлу Опис
Файл.Існує Метод File exists використовується для перевірки наявності певного файлу.
File.ReadAlllines Метод використовується для читання всіх рядків у файлі один за одним.
File.ReadAllText Цей метод використовується для одночасного читання всіх рядків у файлі.
Файл.Копіювати Метод використовується для створення копії існуючого файлу.
Файл.Видалити Метод використовується для видалення існуючого файлу.

Поширені запитання

Файлові операції в C# дозволяють читати, записувати, копіювати, додавати та видаляти файли. Більшість методів належать до класу System.IO.File, такі як File.Exists, File.ReadAllText, File.Copy та File.Delete.

Використовуйте File.Exists(path), яке повертає true, якщо файл існує, та false в іншому випадку. Перевіряйте це перед читанням або видаленням файлу, щоб уникнути винятків під час виконання.

File.ReadAllLines повертає кожен рядок як елемент масиву рядків, тоді як File.ReadAllText повертає весь вміст файлу як один рядок.

Виклик File.Copy(sourcePath, destinationPath). Це створює новий файл у місці призначення, що містить вміст вихідного файлу.

Викличте File.Delete(path). Це назавжди видаляє файл, тому спочатку перевірте його існування за допомогою File.Exists, щоб уникнути винятку FileNotFoundException.

Помічники штучного інтелекту, такі як GitHub Copilot, автозаповнюють виклики File.ReadAllText, File.Copy та File.Delete та генерують код обробки файлів try-catch з короткого коментаря, що описує завдання.

Так. Інструменти на базі штучного інтелекту генерують методи читання та запису, пропонують методи StreamReader або File та додають обробку винятків, щоб ваш код був безпечнішим.

Додайте за допомогою System.IO; на початку вашої програми. Простір імен System.IO містить File, StreamReader та Stream.Writer класи, що використовуються для обробки файлів.

Підсумуйте цей пост за допомогою: