Пространство имен
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());
}






