Учебники

22) Операции с файлами C #

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

  1. Чтение — эта операция является основной операцией чтения, при которой данные считываются из файла.
  2. Запись — эта операция является основной операцией записи, при которой данные записываются в файл. По умолчанию все существующее содержимое удаляется из файла, а новое содержимое записывается.
  3. Добавление — эта операция также включает запись информации в файл. Разница лишь в том, что существующие данные в файле не перезаписываются. Новые записываемые данные добавляются в конец файла.

В этом уроке вы узнаете

Основные команды ввода / вывода

C # и .Net могут работать с файлами с помощью нескольких команд ввода-вывода. Давайте посмотрим на некоторые из этих команд. Для нашего примера мы будем предполагать, что у нас есть диск на диске D с именем Example.txt.

Файл будет простым текстовым файлом и будет иметь 2 строки, как показано ниже

  • Guru99 — .Net
  • Guru99 -C #

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

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

Метод Файл существует используется, чтобы проверить, существует ли определенный файл. Итак, теперь давайте посмотрим код, который можно использовать для проверки, существует ли наш файл Example.txt или нет. Введите приведенный ниже код в файл program.cs.

Операции с файлами C #

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

Объяснение кода: —

  1. Сначала мы устанавливаем строковую переменную с путем к нашему файлу Example.txt.
  2. Далее мы используем метод File.Exists, чтобы проверить, существует файл или нет. Если файл существует, будет возвращено истинное значение.
  3. Если мы получаем истинное значение и файл существует, то мы записываем сообщение «Файл существует» на консоль.

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

Вывод:-

Операции с файлами C #

Из вышеприведенного вывода видно, что команда File.Exists была успешно выполнена, и в окне консоли было отображено правильное сообщение.

File.ReadAlllines

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

Операции с файлами C #

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

Объяснение кода: —

  1. Сначала мы объявляем переменную строкового массива. Это будет использоваться для хранения результата, который будет возвращен методом File.ReadAllLines.
  2. Далее мы используем метод File.ReadAllLines, чтобы прочитать все строки из нашего текстового файла. Затем результат передается в переменную lines.
  3. Поскольку мы знаем, что наш файл содержит только 2 строки, мы можем получить доступ к значению переменных массива с помощью команды lines [0] и lines [1].

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

Вывод:-

Операции с файлами C #

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

File.ReadAllText

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

Операции с файлами C #

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

Объяснение кода: —

  1. Сначала мы объявляем строковую переменную с именем Lines. Это будет использоваться для хранения результата, который будет возвращен методом File.ReadAllText.
  2. Далее мы используем метод File.ReadAllText, чтобы прочитать все строки из нашего текстового файла. Затем результат передается в переменную lines.
  3. Мы можем напрямую использовать метод Console.Writeline для отображения значения переменной Lines.

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

Вывод:-

Операции с файлами C #

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

File.Copy

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

Операции с файлами C #

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

Объяснение кода: —

  1. Сначала мы объявляем строковую переменную с именем path. Это будет расположение нашего файла Example.txt. Этот файл будет исходным файлом, используемым для операции копирования.
  2. Далее мы объявляем строковую переменную с именем copypath. Это будет местоположение нового файла с именем ExampleNew.txt. Это будет целевой файл, содержимое которого будет записано из исходного файла Example.txt.
  3. Затем мы вызываем метод File.Copy, чтобы скопировать файл Example.txt в файл ExampleNew.txt.

Если указанный выше код установлен и проект запущен с использованием Visual Studio, файл Example.txt будет скопирован в ExampleNew.txt.

File.Delete

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

Операции с файлами C #

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

Объяснение кода: —

  1. Сначала мы объявляем строковую переменную с именем path. Это будет расположение нашего файла Example.txt. Это файл, который будет удален.
  2. Далее мы вызываем метод File.Delete для удаления файла.

Если указанный выше код установлен и проект запущен с использованием Visual Studio, файл Example.txt будет удален с диска D.

Резюме

  • C # имеет ряд файловых операций, которые можно выполнять над файлами. Большинство этих операций являются частью класса File.
  • Если вы хотите прочитать данные из файла, вы можете использовать методы File.ReadAlltext или File.ReadAllLines.
Метод файла Описание
Файл существует Метод «Файл существует» используется для проверки существования определенного файла.
File.ReadAlllines Метод используется для чтения всех строк по одной в файле.
File.ReadAllText Этот метод используется для чтения всех строк в файле одновременно.
File.Copy Этот метод используется для создания копии существующего файла.
File.Delete Метод используется для удаления существующего файла.