Программирование >>  Обработка исключительных ситуаций 

1 ... 84 85 86 [ 87 ] 88 89 90 ... 142


Класс Directorylnfo содержит элементы, позволяющие выполнять необходимьн действия с каталогами файловой системы. Эти элементы перечислены в табл. 11.11

Таблица 11.11. Элементы класса DirectoryInfo

Элемент Create,

CreateSubDirectory Delete

GetDirectories GetFiles

MoveTo Parent

Описание

Создать каталог или подкаталог по указанному пути в файловой системе

Удалить каталог со всем его содержимым

Возвратить массив строк, представляющих все подкаталоги

Получить файлы в текущем каталоге в виде массива объектов класса Filelnfo

Переместить каталог и все его содержимое на новый адрес в файловой системе

Возвратить родительский каталог

В листинге 11.9 приведен пример, в котором создаются два каталога, выводит информация о них и предпринимается попытка удаления каталога.

Листинг 11.9. Использование класса DirectoryInfo

using System;

using System.10;

namespace ConsoleApplicationl

{ class Classl

{ static void DirlnfoC Directorylnfo di )

Вывод информации

о каталоге

Console.WriteLineC

-----Directory

Info ) :

Console.WriteLineC

Full Name:

di.FullName );

Console.WriteLineC

Name:

di.Name ) ;

Console.WriteLineC

Parent:

di.Parent ) ;

Console.WriteLineC

Creation:

di.CreationTime );

Console.WriteLineC ,

Attributes:

di.Attributes ) ;

Console.WriteLineC

Root:

+ di.Root );

Console.WriteLineC

static void MainO

Directorylnfo di 1 Directorylnfo di2

Создать каталоги dil.CreateO:

new DirectoryInfo( @ c:\MyDir ); new DirectorylnfoC @ c:\MyDir\temp



di2.Create();

Вывести информацию о каталогах

Dirlnfo(dil):

DirInfo(di2);

Попытаться удалить каталог

Console.WriteLineC Попка удалить {0}. , dil.Name ): dil.DeleteO;

catch С Exception )

Console.WriteLineC Попка не удалась

Результат работы программы:

Directory Info

Full Name: c:\MyDir Name: MyDir Parent:

Creation: 30.04.2006 17:14:44

Attributes: Directory Root: c:\

Directory Info

Full Name: c:\MyDir\temp Name: temp Parent: MyDir

Creation: 30.04.2006 17:14:44

Attributes: Directory Root: c:\

Попка удалить MyDir. Попытка не удалась

Каталог не пуст, поэтому попытка его удаления не удалась. Впрочем, если использовать перегруженный вариант метода Delete с одним параметром, задающим режим удаления, можно удалить и непустой каталог:

dil.DeleteC true );

удаляет непустой каталог

Обратите внимание на свойство Attributes. Некоторые его возможные значения, заданные в перечислении FileAttributes, приведены в табл. 11.12.



Таблица 11,12. Некоторые значения перечисления FileAttributes Значение Описание

Archive Используется приложениями при выполпепии резервного копирования,

а в некоторых случаях - при удалении старых файлов

Compressed Файл является сжатым

Directory Объект файловой системы является каталогом

Encrypted Файл является зашифрованным

Hidden Файл является скрытым

Normal Файл находится в обычном состоянии, и для него установлены любые

другие атрибуты. Этот атрибут не может использоваться с другими атрибутами

Offline Файл, расположенный на сервере, кэширован в хранилище на клиентском

компьютере. Возможно, что данные этого файла уже устарели

Readonly Файл доступен только для чтения

System Файл является системным

Листинг 11.10 демонстрирует использование класса Filelnfo для копирования всех файлов с расширением jpg из каталога d:\foto в каталог d:\temp. Метод Exists позволяет проверить, существует ли исходный каталог.

Листинг 11.10. Копирование файлов

using System;

using System.10;

namespace Consol eApplicationi

class Classl

static void MainO

string DestName = @ d:\tempV;

Directorylnfo dest = new DirectoryInfо( DestName ): dest.CreateO; создание целевого каталога

Directorylnfo dir = new DlrectorylnfoC @ d:\foto );

if ( ! dir.Exists ) проверка существования каталога

Console.WriteLineC Каталог +

dir.Name + не существует );

return;

FilelnfoD files = dir.GetFiles( *.jpg ); список файлов



1 ... 84 85 86 [ 87 ] 88 89 90 ... 142

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика