Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c#_Presentation_11.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
740.35 Кб
Скачать

If (cd.Exists) // Если заданная папка существует...

{ // Создание папок и файлов

sd.Create(); // Создание

DirectoryInfo sdd = sd.CreateSubdirectory("Dir"); // новых

dd.Create(); // папок

StreamWriter f1 = File.CreateText(sourceDir +

@"\Test1.txt"); // Созание файла

f1.WriteLine("Test 1"); // Запись в файл

f1.Close(); // Закрытие файла

StreamWriter f2 = File.CreateText(sourceDir +

@"\Test2.txt"); // Созание файла

f2.WriteLine("Test 2"); // Запись в файл

f2.Close(); // Закрытие файла

Console.WriteLine("Папки и файлы созданы.");

}

Console.ReadLine();

// Вывод содержимого папки и подсчет папок и файлов в ней

Console.WriteLine("Содержимое папки {0}:", sourceDir);

DirectoryInfo[] sdArr = sd.GetDirectories();

foreach (DirectoryInfo fName in sdArr)

Console.WriteLine(" {0}\t\t<папка>", fName.Name);

FileInfo[] sfArr = sd.GetFiles();

foreach (FileInfo fName in sfArr)

Console.WriteLine(" {0}", fName.Name);

Console.WriteLine("Итого: {0} папок и {1} файлов.",

sd.GetDirectories().Length, sd.GetFiles().Length);

Console.ReadLine();

If (sd.Exists & dd.Exists & !md.Exists)

{ sd.MoveTo(moveDir); // Перемещение папки

Console.WriteLine("Папка {0} перемещена в {1} .",

sourceDir, moveDir);

}

Console.ReadLine();

If (dd.Exists) // Если папка существует

{ dd.Delete(true); // Удаление папки

Console.WriteLine("Папка {0} со всем содержимым удалена.",

destDir);

}

Console.ReadLine();

}

}

/* Вывод:

Папки и файлы созданы.

Содержимое папки c:\temp\Source :

Dir <папка>

Test1.txt

Test2.txt

Итого: 1 папок и 2 файлов.

Папка c:\temp\Source перемещена в c:\temp\Destination\Source .

Папка c:\temp\Destination со всем содержимым удалена.

*/

11.8. Использование класса System.Io.DriveInfo для работы с дисками

(http://msdn.microsoft.com/ru-ru/library/system.io.driveinfo.aspx)

Таблица 11.13. Основные свойства и методы класса DriveInfo из пространства имен System.IO

Имя

Описание

Свойства

AvailableFreeSpace

Указывает объем доступного для пользователя свободного места на диске (в байтах).

DriveFormat

Получает строку, содержащую имя файловой системы, например NTFS или FAT32.

DriveType

Получает тип диска (константа из перечисления DriveType, таблица 11.12).

IsReady

Получает значение (типа bool), определяющее готовность диска.

Name

Получает строку, содержащую имя диска.

RootDirectory

Получение объекта DirectoryInfo, содержащего корневой каталог диска.

TotalFreeSpace

Получает общий объем свободного места, доступного на диске (в байтах).

TotalSize

Получает общий размер области хранения на диске (в байтах).

VolumeLabel

Получает или задает метку тома диска (для NTFS – до 32-х символов).

Методы

GetDrives();

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

ToString();

Возвращает строку, содержащую имя диска (возвращает свойство Name).

Таблица 11.14. Константы из перечисления System.IO.DriveType, определяющие тип диска (накопителя)

Имя члена

Описание

Unknown

Неизвестный тип диска.

NoRootDirectory

Диск не содержит корневого каталога.

Removable

Диск является съемным устройством хранения, например дисководом гибких дисков или USB-устройством флэш-памяти.

Fixed

Диск является жестким диском.

Network

Диск сетевым диском.

CDRom

Диск является оптическим дисковым устройством, например компакт-диском или DVD-диском.

Ram

Диск является диском ОЗУ.

Пример 11.13. Использование метода GetDrives и свойств IsReady, Name, DriveType, VolumeLabel, DriveFormat, AvailableFreeSpace, TotalFreeSpace, TotalSize класса DriveInfo для отображения информации обо всех дисках в текущей системе.

using System;

using System.IO;

class TestDriveInfo

{ public static void Main()

{ DriveInfo[] allDrives = DriveInfo.GetDrives();

foreach (DriveInfo d in allDrives)

{ Console.WriteLine("Диск {0}", d.Name);

Console.WriteLine(" Тип диска: {0}", d.DriveType);

if (d.IsReady == true) // Если диск готов

{ Console.WriteLine(" Метка тома: {0}",

d.VolumeLabel);

Console.WriteLine(" Файловая система: {0}",

d.DriveFormat);

Console.WriteLine(" Доступное пространство текущему " +

"пользователю:{0, 15} б.", d.AvailableFreeSpace);

Console.WriteLine(" Полное доступное пространство: " +

" {0, 15} б.", d.TotalFreeSpace);

Console.WriteLine(" Полный размер диска: " +

" {0, 15} б.", d.TotalSize);

}

}

Console.ReadLine();

}

}

/* Вывод:

Диск A:\

Тип диска: Removable

Диск C:\

Тип диска: Fixed

Метка тома: System

Файловая система: NTFS

Доступное пространство текущему пользователю: 4770430976 б.

Полное доступное пространство: 4770430976 б.

Полный размер диска: 10731683840 б.

Диск D:\

Тип диска: Fixed

Метка тома: Data

Файловая система: NTFS

Доступное пространство текущему пользователю: 15114977280 б.

Полное доступное пространство: 15114977280 б.

Полный размер диска: 25958948864 б.

Диск E:\

Тип диска: CDRom

Диск F:\

Тип диска: Removable

Метка тома: Flash

Файловая система: FAT32

Доступное пространство текущему пользователю: 2059624448 б.

Полное доступное пространство: 2059624448 б.

Полный размер диска: 4004012032 б.

(Фактическое содержание вывода определяется конфигурацией

конкретного компьютера.)

*/

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]