функция 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("Список файлов и папок получен!");
    }
  };
}						

Официальная документация (английский)