Обработка файлов в C#: ввод-вывод 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.
Файл будет простым текстовым файлом и будет состоять из двух строк, как показано ниже.

  • Guru99 – .Net
  • Guru99 -C#

В нашем примере мы создадим простое консольное приложение и будем работать с командами файлового ввода-вывода. Консольное приложение — это базовое приложение, созданное в предыдущем руководстве. В консольном приложении весь код записывается в файл program.cs.

Файл существует

Метод File существует используется для проверки существования определенного файла. Итак, теперь давайте посмотрим код, который можно использовать для проверки существования нашего файла 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 для чтения всех строк из нашего текстового файла. Затем результат передается в переменную линий.
  3. Поскольку мы знаем, что наш файл содержит только 2 строки, мы можем получить доступ к значениям переменных массива с помощью командlines[0] иlines[1].

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

Выход:-

File.ReadAlllines

Из вывода вы можете видеть, что команда File.ReadAllLines вернула обе строки из нашего файла example.txt.

Файл.ReadAllText

Этот метод используется для одновременного чтения всех строк файла. Затем строки сохраняются в строковой переменной. Давайте посмотрим на пример. Введите приведенный ниже код в файл program.cs.

Файл.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 для чтения всех строк из нашего текстового файла. Затем результат передается в переменную линий.
  3. Мы можем напрямую использовать метод Console.Writeline для отображения значения переменной Lines.

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

Выход:-

Файл.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 существует используется для проверки существования определенного файла.
File.ReadAlllines Метод используется для чтения всех строк файла по одной.
Файл.ReadAllText Этот метод используется для одновременного чтения всех строк файла.
Файл.Копировать Метод используется для создания копии существующего файла.
Файл.Удалить Метод используется для удаления существующего файла.

Часто задаваемые вопросы (FAQ)

В 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, а также добавляют обработку исключений, что делает ваш код более безопасным.

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

Подведем итог этой публикации следующим образом: