Метод delete
Метод delete класса File удаляет файл
или директорию с файловой системы. Метод является
асинхронным и возвращает Future, который
завершается, когда удаление выполнено. В первый
параметр мы передаем именованный аргумент
recursive, который указывает, нужно ли
удалять директорию вместе со всем её содержимым.
По умолчанию recursive равен false.
Синтаксис
file.delete({bool recursive = false})
Пример
Давайте создадим файл, а затем удалим его
с помощью метода delete:
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.create();
print('File created: ${await file.exists()}');
await file.delete();
print('File exists: ${await file.exists()}');
}
Результат выполнения кода:
"File created: true"
"File exists: false"
Пример
Давайте удалим директорию вместе со всем
её содержимым, передав параметр
recursive равным true:
import 'dart:io';
void main() async
{
Directory dir = Directory('test_dir');
await dir.create();
File file = File('test_dir/test.txt');
await file.writeAsString('abcde');
await dir.delete(recursive: true);
print('Directory exists: ${await dir.exists()}');
}
Результат выполнения кода:
"Directory exists: false"
Пример
Давайте обработаем ошибку, которая возникнет, если попытаться удалить несуществующий файл:
import 'dart:io';
void main() async
{
File file = File('missing.txt');
try {
await file.delete();
} on FileSystemException catch (e) {
print('Error: ${e.osError?.message}');
}
}
Результат выполнения кода:
"Error: No such file or directory"
Смотрите также
-
метод
deleteSync,
который удаляет файл синхронно -
метод
exists,
который проверяет существование файла -
метод
create,
который создает новый файл -
класс
File,
который представляет файл в файловой системе