Метод delete
Метод delete класса Directory удаляет директорию
из файловой системы. Первым параметром метод принимает
именованный аргумент recursive - если он равен
true, директория удаляется вместе со всем содержимым,
если false - только если она пуста. Метод возвращает
объект Future, поэтому его удобно вызывать
с ключевым словом await.
Синтаксис
dir.delete({bool recursive = false})
Пример
Давайте создадим директорию и затем удалим её:
import 'dart:io';
void main() async
{
Directory dir = Directory('test_dir');
await dir.create();
print(await dir.exists());
await dir.delete();
print(await dir.exists());
}
Результат выполнения кода:
true
false
Пример
Давайте попробуем удалить непустую директорию
без параметра recursive:
import 'dart:io';
void main() async
{
Directory dir = Directory('test_dir');
await dir.create();
File('test_dir/file.txt').create();
try
{
await dir.delete();
}
catch (e)
{
print('Error');
}
}
Результат выполнения кода:
"Error"
Пример
Давайте удалим непустую директорию,
передав параметр recursive равным true:
import 'dart:io';
void main() async
{
Directory dir = Directory('test_dir');
await dir.create();
File('test_dir/file.txt').create();
await dir.delete(recursive: true);
print(await dir.exists());
}
Результат выполнения кода:
false