Библиотеки » Ввод-вывод (dart:io) » Directory » createSync
функция 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();
}
}