deleteEmptyDirectories static method
递归删除空目录
Implementation
static Future<void> deleteEmptyDirectories(Directory dir) async {
// 如果目录不存在,直接返回
if (!await dir.exists()) return;
// 获取目录中的所有文件和子目录
final entities = await dir.list().toList();
// 如果目录不为空,不删除
if (entities.isNotEmpty) {
return;
}
// 目录为空,尝试删除
try {
await dir.delete();
// 递归检查父目录
await deleteEmptyDirectories(dir.parent);
} catch (e) {
rethrow;
}
}