Вход/Регистрация
ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
вернуться

Троелсен Эндрю

Шрифт:

// Вывод информации о файлах.

foreach (FileInfo f in bitmapFiles) {

Console.WriteLine("***************************\n");

Console.WriteLine("Имя: {0} ", f.Name);

Console.WriteLine("Размер: {0} ", f.Length);

Console.WriteLine("Создан: {0} ", f.CreationTime);

Console.WriteLine("Атрибуты: {0} ", f.Attributes);

Console.WriteLine("***************************\n");

}

 }

}

Запустив это приложение, вы увидите список, подобный показанному на рис. 16.3 (ваши результаты могут быть другими!).

Рис. 16.3. Информация о файлах с точечными изображениями

Создание подкаталогов с помощью DirectoryInfo

Вы можете программно расширить структуру каталога, используя метод DirectoryInfo.CreateSubdirectory. Этот метод с помощью одного обращения к функции позволяет создать как один подкаталог, так и множество вложенных подкаталогов. Для примера рассмотрите следующий блок программного кода, расширяющий структуру каталога C:\Windows путем создания нескольких пользовательских подкаталогов.

class Program {

 static void Main(string[] args) {

Console.WriteLine("***** Забавы с Directory(Info) *****\n");

DirectoryInfo dir = new DirectoryInfo(@"C:\Windows");

…

// Создание \MyFoo в исходном каталоге.

dir.CreateSubdirectory("MyFoo");

// Создание \MyBar\MyQaaz в исходном каталоге

dir.CreateSubdirectory(@"MyBar\MyQaaz");

 }

}

Если теперь проверить каталог Windows в окне программы Проводник, вы увидите там новые подкаталоги (рис. 16.4).

Рис. 16.4. Создание подкаталогов

Хотя вы и не обязаны использовать возвращаемое значение метода CreateSubdirectory, полезно знать, что в случае успешного выполнения тип DirectoryInfo возвращает созданный элемент.

// CreateSubdirectory возвращает объект DirectoryInfo,

// представляющий новый элемент.

DirectoryInfo d = dir.CreateSubdirectory("MyFoo");

Console.WriteLine("Создан: {0} ", d.FullName);

d = dir.CreateSubdirectory(@"MyBar\MyQaaz");

Console.WriteLine("Создан: {0} ", d.FullName);

Работа с типом Directory

Теперь, когда вы увидели тип DirectoryInfo в действии, рассмотрим тип Directory. По большей части члены Directory "дублируют" функциональные возможности, обеспечиваемые членами уровня экземпляра DirectoryInfo. Напомним, однако, что члены Directory возвращают строковые типы, а не строго типизированные объекты FileInfo/DirectoryInfo.

Чтобы проиллюстрировать некоторые функциональные возможности типа Directory, заключительная модификация этого примера отображает имена всех дисков, отображаемых на данном компьютере (для этого применяется метод Directorу.GetLogicalDrives) и используется статический метод Directory. Delete для удаления ранее созданных подкаталогов \MyFoo и \MyBar\MyQaaz.

class Program {

 static void Main(string[] args) {

…

// Список дисков данного компьютера.

string[] drives = Directory.GetLogicalDrives;

Console.WriteLine("Вот ваши диски:");

foreach (string s in drives) Console.WriteLine(" -› {0}", s);

// Удаление созданного.

Console.WriteLine("Нажмите ‹Enter› для удаления каталогов");

try {

// Второй параметр сообщает, хотите ли вы

// уничтожить подкаталоги

Directory.Delete(@"C:\Windows\MyBar", true);

} catch (IOException e) {

Console.WriteLine(e.Message);

}

 }

}

Исходный код. Проект MyDirectoryApp размещен в подкаталоге, соответствующем главе 16.

Работа с типом класса DriveInfo

В .NET 2.0 пространство имен System.IO предлагает класс с именем DriveInfo. Подобно Directory.GetLogicalDrives, статический метод DriveInfo.GetDrives позволяет выяснить имена дисков машины. Однако, в отличие от Directory.GetLogicalDrives, класс DriveInfo обеспечивает множество дополнительной информации (например, информацию о типе диска, свободном пространстве, метке тома и т.д.). Рассмотрите следующий пример программного кода.

  • Читать дальше
  • 1
  • ...
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: