Подобно паре Directory/DirectoryInfo для работы с файлами предназначена пара классов File и FileInfo . С их помощью мы можем создавать, удалять, перемещать файлы, получать их свойства и многое другое.
FileInfo
Некоторые полезные методы и свойства класса FileInfo :
- CopyTo(path) : копирует файл в новое место по указанному пути path
- Create() : создает файл
- Delete() : удаляет файл
- MoveTo(destFileName) : перемещает файл в новое место
- Свойство Directory : получает родительский каталог в виде объекта DirectoryInfo
- Свойство DirectoryName : получает полный путь к родительскому каталогу
- Свойство Exists : указывает, существует ли файл
- Свойство Length : получает размер файла
- Свойство Extension : получает расширение файла
- Свойство Name : получает имя файла
- Свойство FullName : получает полное имя файла
Для создания объекта FileInfo применяется конструктор, который получает в качестве параметра путь к файлу:
Создание Форматного файла ASCII (FRT) SmartWorx Viva and Leica Captivate Format File ASCII (FRT)
File
Класс File реализует похожую функциональность с помощью статических методов:
- Copy() : копирует файл в новое место
- Create() : создает файл
- Delete() : удаляет файл
- Move : перемещает файл в новое место
- Exists(file) : определяет, существует ли файл
Пути к файлам
Для работы с файлами можно применять как абсолютные, так и относительные пути:
Получение информации о файле
Удаление файла
Перемещение файла
Если файл по новому пути уже существует, то с помощью дополнительного параметра можно указать, надо ли перезаписать файл (при значении true файл перезаписывается)
Копирование файла
Метод CopyTo класса FileInfo принимает два параметра: путь, по которому файл будет копироваться, и булевое значение, которое указывает, надо ли при копировании перезаписывать файл (если true , как в случае выше, файл при копировании перезаписывается). Если же в качестве последнего параметра передать значение false , то если такой файл уже существует, приложение выдаст ошибку.
Метод Copy класса File принимает три параметра: путь к исходному файлу, путь, по которому файл будет копироваться, и булевое значение, указывающее, будет ли файл перезаписываться.
Чтение и запись файлов
В дополнение к вышерассмотренным методам класс File также предоставляет ряд методов для чтения-записи текстовых и бинарных файлов:
- AppendAllLines(String, IEnumerable) / AppendAllLinesAsync(String, IEnumerable, CancellationToken) добавляют в файл набор строк. Если файл не существует, то он создается
- AppendAllText(String, String) / AppendAllTextAsync(String, String, CancellationToken) добавляют в файл строку. Если файл не существует, то он создается
- byte[] ReadAllBytes (string path) / Task ReadAllBytesAsync (string path, CancellationToken cancellationToken) считывают содержимое бинарного файла в массив байтов
- string[] ReadAllLines (string path) / Task ReadAllLinesAsync (string path, CancellationToken cancellationToken) считывают содержимое текстового файла в массив строк
- string ReadAllText (string path) / Task ReadAllTextAsync (string path, CancellationToken cancellationToken) считывают содержимое текстового файла в строку
- IEnumerable ReadLines (string path) считывают содержимое текстового файла в коллекцию строк
- void WriteAllBytes (string path, byte[] bytes) / Task WriteAllBytesAsync (string path, byte[] bytes, CancellationToken cancellationToken) записывают массив байт в бинарный файл. Если файл не существует, он создается. Если существует, то перезаписывается
- void WriteAllLines (string path, string[] contents) / Task WriteAllLinesAsync (string path, IEnumerable contents, CancellationToken cancellationToken) записывают массив строк в текстовый файл. Если файл не существует, он создается. Если существует, то перезаписывается
- WriteAllText (string path, string? contents) / Task WriteAllTextAsync (string path, string? contents, CancellationToken cancellationToken) записывают строку в текстовый файл. Если файл не существует, он создается. Если существует, то перезаписывается
Как видно, эти методы покрывают практически все основные сценарии — чтение и запись текстовых и бинарных файлов. Причем в зависимости от задачи можно применять как синхронные методы, так и их асинхронные аналоги.
Что такое IFTA file для Trucking Business — [2020]
Например, запишем и считаем обратно в строку текстовый файл:
Hello Metanit.com Hello work
Стоит отметить, что при добавлении текста я добавил в строку последовательность «n», которая выполняет перевод на следующую строку. Благодаря этому добавляемый текст располагается в файле на новой строке.
Если мы хотим, что в файле изначально шло добавление на новую строку, то для записи стоит использовать метод WriteAllLines/ WriteAllLinesAsync , а для добавления — AppendAllLines / AppendAllLinesAsync
await File.WriteAllLinesAsync(path, new[] < «Hello Metanit.com», «Hello work» >);
Аналогично при чтении файла если мы хотим каждую строку файла считать отдельно, то вместо ReadAllText / ReadAllTextAsync применяется ReadAllLines / ReadAllLinesAsync .
Кодировка
В качестве дополнительного параметра методы чтения-записи текстовых файлов позволяют установить кодировку в виде объекта System.Text.Encoding :
using System.Text; string path = «/Users/eugene/Documents/app/content.txt»; string originalText = «Привет Metanit.com»; // запись строки await File.WriteAllTextAsync(path, originalText, Encoding.Unicode); // дозапись в конец файла await File.AppendAllTextAsync(path, «nПривет мир», Encoding.Unicode); // чтение файла string fileText = await File.ReadAllTextAsync(path, Encoding.Unicode); Console.WriteLine(fileText);
Для установки кодировки при записи и чтении здесь применяется встроенное значение Encoding.Unicode . Также можно указать название кодировки, единственное следует удостовериться, что текущая операционная система поддерживает выбранную кодировку:
Источник: metanit.com
Что за программа AZFiles File Info и как пользоваться?
Операционная система является набором файлов, которые выполняют различные функции, взаимодействуют между собой. В результате мы видим красивый интерфейс, можем пользоваться различными приложениями. Существуют элементы разных форматов, например, «doc», «exe», «pdf». Многие из них нам знакомы, а информацию о других поможет узнать AZFiles File Info – что это за программа, как её правильно использовать – об этом я расскажу в сегодняшней публикации.