extractFiles method Null safety
Extract the provided files
Implementation
static Future<void> extractFiles(Map<String, dynamic> files) async {
final File zipFile = files['zipFile'];
final String directory = files['directory'];
final bytes = zipFile.readAsBytesSync();
final archive = ZipDecoder().decodeBytes(bytes);
for (final file in archive) {
if (file.isFile && !file.name.startsWith('__MACOSX')) {
final decompressed = file.content as List<int>;
final outFile =
await File('$directory/${file.name}').create(recursive: true);
if (outFile.existsSync() &&
outFile.lengthSync() != decompressed.length) {
Get.log('Creating file ${file.name}');
outFile.writeAsBytesSync(decompressed, flush: true);
}
}
}
}