deleteEmptyDirectories static method

Future<void> deleteEmptyDirectories(
  1. Directory dir
)

递归删除空目录

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;
  }
}