Библиотеки » Ввод-вывод (dart:io) » Directory » createTempSync
функция Directory::createTempSync
Синтаксис
Возвращаемое значение
DirectoryОписание
Метод createTempSync
позволяет создать временную директорию на основе указанного пути.
Данный метод выполняется последовательно, и пока не будут создана необходимая директория, или не произойдет сбой, управление не будет возвращено в основной поток.
Временная директория создается но основе текущего пути, к которому добавляется некоторое количество произвольных символов. Если путь пустой, то создается временная директория в системном каталоге.
Если в пути указана не существующая директория на последнем уровне вложенности то создание временного каталого происходит нормально, потому что к последнему имени дописываются случайные символы и создается директория. А вот если в пути встречается несуществующая директория на более высоких уровнях вложенности то будет сгенерированна ошибка DirectoryIOException
Заметки
Примеры использования:
import "dart:io";
void main() {
// создадим временный каталог внутри текущего
Directory temporaryDir1 = new Directory("./temporary");
// создадим директорию в файловой системе
Directory dir1 = temporaryDir1.createTempSync();
if (dir1.existsSync()) {
// создание прошло успешно, директория создана
// выведем путь на экран
print(dir1.path);
// будет выведен примерно следущий путь
// ./temporary-03d441ad-55ca-11e2-bdf0-efbc588db635
// удалим наш временный каталог
dir1.deleteSync();
}
// создадим временный каталог в системной папке
Directory temporaryDir2 = new Directory("");
// создадим директорию в файловой системе
Directory dir2 = temporaryDir2.createTempSync();
if (dir2.existsSync()) {
// создание прошло успешно, директория создана
// выведем путь на экран
print(dir2.path);
// для платформы Microsoft Windows будет выведен примерно следующий путь
// C:\Users\ADMIN\AppData\Local\Temp\tempdir-0dc4eecb-55cb-11e2-bdf0-efbc588db635
// удалим наш временный каталог
dir2.deleteSync();
}
}