Обработка файлов в C#: ввод-вывод Operaции [Примеры]
C# имеет широкий спектр файловых операций. Эти операции включают открытие файла, чтение или запись в файл. Могут быть случаи, когда вы захотите работать с файлами напрямую, и в этом случае вам придется использовать файловые операции, доступные в C#. Некоторые из основных операций с файлами упомянуты ниже.
- Чтение. Эта операция является основной операцией чтения, при которой данные считываются из файла.
- Запись. Эта операция является основной операцией записи, при которой данные записываются в файл. По умолчанию все существующее содержимое удаляется из файла и записывается новое содержимое.
- Добавление. Эта операция также включает запись информации в файл. Единственное отличие состоит в том, что существующие данные в файле не перезаписываются. Новые данные для записи добавляются в конец файла.
Основные команды ввода-вывода
C# и .Net могут работать с файлами с помощью нескольких команд файлового ввода-вывода. Давайте посмотрим на некоторые из этих команд. В нашем примере мы предположим, что на диске D у нас есть файл с именем example.txt.
Файл будет простым текстовым файлом и будет состоять из двух строк, как показано ниже.
- Гуру99 – .Net
- Гуру99 -С#
В нашем примере мы создадим простое консольное приложение и будем работать с командами файлового ввода-вывода. Консольное приложение — это базовое приложение, созданное в предыдущем руководстве. В консольном приложении весь код записывается в файл 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(); } } }
Объяснение кода: -
- Сначала мы устанавливаем строковую переменную с путем к нашему файлу 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 для чтения всех строк из нашего текстового файла. Затем результат передается в переменную линий.
- Поскольку мы знаем, что наш файл содержит только 2 строки, мы можем получить доступ к значениям переменных массива с помощью командlines[0] иlines[1].
Когда приведенный выше код установлен и проект запускается с использованием Visual Studio, вы получите результат ниже.
Выход:-
Из вывода вы можете видеть, что команда File.ReadAllLines вернула обе строки из нашего файла example.txt.
Файл.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 для чтения всех строк из нашего текстового файла. Затем результат передается в переменную линий.
- Мы можем напрямую использовать метод 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 существует используется для проверки существования определенного файла. |
File.ReadAlllines | Метод используется для чтения всех строк файла по одной. |
Файл.ReadAllText | Этот метод используется для одновременного чтения всех строк файла. |
Файл.Копировать | Метод используется для создания копии существующего файла. |
Файл.Удалить | Метод используется для удаления существующего файла. |