unzip method
dynamic
unzip(
- String zipFileName,
- bool isAsset,
)
Implementation
unzip(String zipFileName,
String extractLocation,
String extractTo,
bool isAsset,) async {
Directory extractDir = await Directory('$extractLocation/$extractTo');
var data = await FileRF.toByteData(zipFileName, isAsset);
List<int> content = <int>[data.lengthInBytes];
for (var i = 0; i < data.lengthInBytes; i++)
content[i] = data.getUint8(i);
Archive archive = ZipDecoder().decodeBytes(content);
for (ArchiveFile file in archive) {
if (file.isFile) {
List<int> data = file.content;
File('${extractDir.path}/${file.name}')
..createSync(recursive: true)
..writeAsBytesSync(data);
} else {
Directory('${extractDir.path}/${file.name}')
..createSync(recursive: true);
}
}
}