Средства .NET Framework для работы с файлами
Классы, необходимые для работы с файлами, находятся в пространстве имен System.IO, которое аккумулирует все необходимые для этого классы. Рассмотрим некоторые из них:
1. StreamReader - предназначен для чтения текстовых файлов или потоков.
- StreamWriter - используется для записи текста в новые или уже существующие файлы.
- FileStream - базовый класс для открытия, чтения, записи и закрытия файлов. Наследуется от абстрактного класса Stream, следовательно большинство его свойств и методов являются производными из этого класса.
- BinaryWriter - класс, производный от Object. Предназначен для записи в файл любой информации, не являющейся текстовой.
- BinaryReader - класс, производный от Object. Предназначен для чтения из файла любой информации, не являющейся текстовой.
- FileInfo, File - предоставляют информацию о файлах. Оба класса предлагают одинаковые методы за исключением того, что методы File статические и требуют указания имени файла в качестве аргумента. Свойства и методы FileInfo нестатические, и имя файла, к которому будут применяться эти методы и свойства, указывается в аргументе конструктора.
7. DirectoryInfo, Directory - предоставляют информацию о каталогах. Оба класса предлагают одинаковые методы за исключением того, что методы Directory статические и требуют указания имени каталога в качестве аргумента. Свойства и методы DirectoryInfo нестатические, и имя каталога, к которому будут применяться эти методы и свойства, указывает аргумент конструктора.
Работа с каталогами. Класс Directory содержит статические методы, позволяющие создавать, перемещать и исследовать каталоги. Поскольку все методы этого класса являются статическими, их можно вызывать, не создавая объект класса. Класс DirectoryInfo аналогичен предыдущему, но он обладает только нестатическими элементами. Этот класс является потомком класса FileSystemInfo, который имеет ряд свойств и методов, предоставляющих информацию о файле или каталоге.
Чтобы исследовать иерархическую структуру каталогов, необходимо создать объект класса DirectoryInfo. Этот класс предоставляет методы, позволяющие получить не только имена файлов и подкаталогов, но и объекты FileInfo и DirectoryInfo. С помощью последних программист исследует иерархическую структуру каталога, рекурсивно извлекая его подкаталоги.
Работа с файлами. Объект DirectcryInfo может, кроме всего прочего, возвратить коллекцию всех файлов в каждом найденном подкаталоге. Метод GetFiles() возвращает массив объектов FileInfo, каждый из которых описывает файл.
При создании объекта класса DirectoryInfo следует указать имя рассматриваемого каталога и путь к нему в виде дословной строки. Если задать имя файла просто как «data.txt», без указания пути, он будет создан в том каталоге, где находится выполняемая программа.
// Получение списка файлов на "D:\"
DirectoryInfo dir = new DirectoryInfo(@"D:\");
FileInfo[] ms = dir.GetFiles("data*.txt");
Теперь массив ms содержит набор ссылок на файлы маски "data*.txt" директории "D:\", ссылка на которую dir.
Файловые операции общего характера:
bool File.Exists(имя_файла);
File.Сору(имя_файла_источника, имя_файла_приемника,наложение);
File.Delete{имя файла);
Метод Exists возвращает true, если файл существует, и программа имеет достаточные привилегии для чтения из него.
Метод Сору создает дубликат файла. Если установлен (равен true) флаг наложение, и файл-приемник уже существует, он будет затерт и перезаписан; в противном случае операция копирования не выполняется.
Метод Delete удаляет файл, если программа имеет достаточные привилегии для выполнения этой операции.
Дата добавления: 2021-12-14; просмотров: 324;