функция Directory::createSync

Создание директорий в файловой системе

Синтаксис

void
Directory.createSync
(bool recursive)

Передаваемые параметры

bool recursive

Возвращаемое значение

void

Описание

Метод createSync позволяет создать директорию или несколько вложенных директорий в файловой системе.

Данный метод выполняется последовательно, и пока не будут созданы необходимые директории, или не произойдет сбой, управление не будет возвращено в основной поток.

Если параметр recursive установлен в false, то создается только последняя директория в пути, а в там случае, когда recursive установлен в true, последовательно создаются все несуществующие директории.

Когда все каталоги в пути уже существуют - во время выполнения функции ничего не происходит.

Заметки

Примеры использования:


import "dart:io";

void main() {
// объявим поддиректорию внутри текущей директории
  Directory temporaryDir1 = new Directory("./temporary01");

  // создадим эту директорию в файловой системе
  temporaryDir1.createSync();

  if (temporaryDir1.existsSync()) {
    print("Директория ${temporaryDir1.path} существует");
    temporaryDir1.deleteSync();
  }


  // объявим директорию с несколькими несуществующими уровнями вложенности
  Directory temporaryDir2 = new Directory("./temporary02/sub1/sub2");

  // попытаемся создать эти директории в файловой системе
  try {
    temporaryDir2.createSync(recursive: false);
  } on DirectoryIOException catch (e) {
    // будет сгенерирована ошибка, потому что был указан параметр
    // рекурсивного создания recursive как false
    print("не возможно создать директорию - ${e.message}");
  }

  // а так, с recursive: true - директории создадутся нормально
  temporaryDir2.createSync(recursive: true);

  if (temporaryDir2.existsSync()) {
    print("Директория ${temporaryDir2.path} существует");
    temporaryDir2.deleteSync();
  }
}
					

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