Библиотеки » Ввод-вывод (dart:io) » Directory » list
функция Directory::list
Получение списка файлов и поддиректорий
Синтаксис
DirectoryLister
Directory.list
(bool recursive)
Передаваемые параметры
bool recursiveВозвращаемое значение
DirectoryListerОписание
Метод list
позволяет получить список вложенных файлов и поддиректорий для данной директории.
С помощью необязательного параметра recursive
можно контролировать будут ли получены только непосредственно вложенные файлы и директории, или процесс будет идти рекурсивно для вложенных директорий.
После вызова данного метода, управление не блокируется, а сразу же возвращается в основной поток, и в качестве результата отдается объект типа DirectoryLister
, который получает и орбрабатывает имена файлов и директорий.
Заметки
Примеры использования:
import "dart:io";
void main() {
// инициализируем директорию
Directory baseFolder = new Directory("/");
// получаем обработчик списка для вложенных файлов и папок
DirectoryLister baseFolderLister = baseFolder.list(recursive: false);
// задаем обработчик для директорий
baseFolderLister.onDir = (String value) {
File file = new File(value);
// отправим на вывод имя директории и время последнего изменения
print("${file.name} - ${file.lastModifiedSync().toString()}");
};
// задаем обработчик для файлов
baseFolderLister.onFile = (String value) {
File file = new File(value);
// отправим на вывод имя файла и время последнего изменения
print("${file.name} - ${file.lastModifiedSync().toString()}");
};
// задаем обработчик для окончания листинга
baseFolderLister.onDone = (bool complete) {
if (complete) {
print("Список файлов и папок получен!");
}
};
}