extractFile method

Future<void> extractFile(
  1. String zipFilePath,
  2. String destDir
)

Implementation

Future<void> extractFile(String zipFilePath, String destDir) async {
  // 读取压缩文件
  final bytes = File(zipFilePath).readAsBytesSync();

  // 解压缩
  final archive = ZipDecoder().decodeBytes(bytes);

  // 处理解压缩的文件
  for (final file in archive) {
    final filename = '$destDir/${file.name}';

    if (file.isFile) {
      // 创建文件
      final outFile = File(filename);
      await outFile.create(recursive: true);
      // 写入文件数据
      await outFile.writeAsBytes(file.content as List<int>);
    } else {
      // 创建目录
      await Directory(filename).create(recursive: true);
    }
  }
  print('Extraction complete');
}