Работа с каталогами
Для работы с каталогами в пространстве имен System.IO предназначены сразу два класса: Directory и DirectoryInfo.
Класс Directory
Класс Directory предоставляет ряд статических методов для управления каталогами. Некоторые из этих методов:
- CreateDirectory(path): создает каталог по указанному пути path
- Delete(path): удаляет каталог по указанному пути path
- Exists(path): определяет, существует ли каталог по указанному пути path. Если существует, возвращается true, если не существует, то false
- GetDirectories(path): получает список каталогов в каталоге path
- GetFiles(path): получает список файлов в каталоге path
- Move(sourceDirName, destDirName): перемещает каталог
- GetParent(path): получение родительского каталога
Класс DirectoryInfo
Данный класс предоставляет функциональность для создания, удаления, перемещения и других операций с каталогами. Во многом он похож на Directory. Некоторые из его свойств и методов:
- Create(): создает каталог
- CreateSubdirectory(path): создает подкаталог по указанному пути path
- Delete(): удаляет каталог
- Свойство Exists: определяет, существует ли каталог
- GetDirectories(): получает список каталогов
- GetFiles(): получает список файлов
- MoveTo(destDirName): перемещает каталог
- Свойство Parent: получение родительского каталога
- Свойство Root: получение корневого каталога
Посмотрим на примерах применение этих классов
Получение списка файлов и подкаталогов
string dirName = "C:\\"; if (Directory.Exists(dirName)) { Console.WriteLine("Подкаталоги:"); string[] dirs = Directory.GetDirectories(dirName); foreach (string s in dirs) { Console.WriteLine(s); } Console.WriteLine(); Console.WriteLine("Файлы:"); string[] files = Directory.GetFiles(dirName); foreach (string s in files) { Console.WriteLine(s); } } |
Обратите внимание на использование слешей в именах файлов. Либо мы используем двойной слеш: "C:\\", либо ординарный, но тогда перед всем путем ставим знак @: @"C:\Program Files"
Создание каталога
string path = @"C:\SomeDir"; string subpath = @"program\avalon"; DirectoryInfo dirInfo = new DirectoryInfo(path); if (!dirInfo.Exists) { dirInfo.Create(); } dirInfo.CreateSubdirectory(subpath); |
Вначале проверяем, а нету ли такой директории, так как если она существует, то ее создать будет нельзя, и приложение выбросит ошибку. В итоге у нас получится следующий путь: "C:\SomeDir\program\avalon"
Дата добавления: 2017-08-01; просмотров: 484;