Обработка файлов в C#:операции ввода-вывода [примеры]
C# имеет широкий набор операций с файлами. Эти операции включают в себя открытие файла, чтение или запись в файл. Могут быть случаи, когда вы хотите работать с файлами напрямую, и в этом случае вы должны использовать файловые операции, доступные в C#. Ниже перечислены некоторые из основных операций с файлами.
- Чтение. Эта операция является базовой операцией чтения, при которой данные считываются из файла.
- Запись. Эта операция является базовой операцией записи, при которой данные записываются в файл. По умолчанию все существующее содержимое удаляется из файла и записывается новое содержимое.
- Добавление — эта операция также включает запись информации в файл. Единственное отличие состоит в том, что существующие данные в файле не перезаписываются. Новые записываемые данные добавляются в конец файла.
В этом уроке вы узнаете-
- Файл.Существует
- Файл.ReadAlllines
- Файл.ReadAllText
- Файл.Копировать
- Файл.Удалить
Основные команды ввода/вывода
C# и .Net могут работать с файлами с помощью нескольких команд файлового ввода-вывода. Давайте посмотрим на некоторые из этих команд. Для нашего примера предположим, что у нас есть файл на диске D с именем Example.txt.
Этот файл будет простым текстовым файлом и будет состоять из 2 строк, как показано ниже
- Гуру99 — .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 выполнена успешно, и в окне консоли отображается правильное сообщение.
Файл.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
Файл.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.
Язык C