Пространство имен
System.IO содержит все необходимые классы, методы и свойства для манипуляций с каталогами и файлами (В Таблице 8.1 приведены основные классы).
Табл.8.1
Класс | Применение |
Binary Reader и Writer | Чтение и запись простых типов данных |
Directory, File, DirectoryInfo и FileInfo | Создание, удаление и перемещение файлов и директорий. Получение подробной информации о файлах, при помощи свойств, определенных в этих классах. |
FileStream | Доступ к файлам потоковым способом |
MemoryStream | Доступ к данным храняшимся в памяти |
StreamWriter и StreamReader | Чтение и запись текстовой информации |
StringReader и StringWriter | Чтение и запись текстовой информации из строкового буфера |
Классы DirectoryInfo и FileInfo унаследованы от FileSystemInfo, который является абстрактным. Это значит, что Вы не можете унаследовать от него свой класс, но можете использовать свойства, определённые в нём. Таблица 8.2 перечисляет его свойства и методы.
Табл. 8.2
Свойства | Назначение |
Attributes | Возвращает атрибуты файла в виде значений перечисления FileAttributes |
CreationTime | Возвращает время создания файла |
Exists | Проверяет является ли файл директорией или нет |
Extension | Возвращает расширение файла |
LastAccessTime | Возвращает время последнего доступа к файлу |
FullName | Возвращает полный путь к файлу |
LastWriteTime | Возвращает время последнего изменения файла |
Name | Возвращает имя данного файла |
Delete() | Удаляет файл. Будьте осторожны при использовании этого метода. |
Класс DirectoryInfo содержит методы для создания, перемещение и удаление каталогов. Чтобы использовать вышеприведённые свойства, необходимо создать объект класса DirectoryInfo как показано в примере:
|
|
DirectoryInfo dir1 = new DirectoryInfo(@"F:\WINNT");
После этого уже можно просмотреть свойства директории при помощи объекта dir1, как показано на фрагмент кода:
Console.WriteLine("Full Name is: {0}", dir1.FullName);
Console.WriteLine("Attributes are: {0}",
dir1.Attributes.ToString());
Можно также использовать значения перечисления FileAttributes. Они приведены в таблице 8.3.
Табл.8.3
Свойства | Назначение |
Archive | Возвращает Архивный статус файла |
Compressed | Позволяет узнать сжат файл или нет |
Directory | Показывает является ли файл директорией или нет |
Encrypted | Показывает закодирован файл или нет |
Hidden | Показывает скрыт файл или нет |
Offline | Показывает, что данные отсутствуют |
ReadOnly | Показывает является ли файл только для чтения |
System | Показывает, является ли файл системным (возможно файл в директории Windows) |
Предположим, вы хотите получить список всех файлов с расширением BMP в папке F:\Pictures. Для этого можно использовать следующий код:
DirectoryInfo dir = new DirectoryInfo(@"F:\WINNT");
FileInfo[] bmpfiles = dir.GetFiles("*.bmp);
Console.WriteLine("Total number of bmp files", bmpfiles.Length);
|
|
Foreach(FileInfo f in bmpfiles)
{
Console.WriteLine("Name is: {0}", f.Name);
Console.WriteLine("Length of the file is: {0}", f.Length);
Console.WriteLine("Creation time is: {0}", f.CreationTime);
Console.WriteLine("Attributes of the file are: {0}",
f.Attributes.ToString());
}