本文概述
必须先将其解压缩, 然后才能开始实际使用zip文件中的内容(文件)。在本文中, 你将学习如何使用Electron Framework和decompress-zip模块解压缩.zip文件。
要求
为了在Electron中解压缩文件, 你需要decompress-zip模块, 该模块允许你使用几行代码从ZIP存档中提取文件。要在项目中安装decompress-zip文件, 请在命令提示符下执行以下命令:
npm install decompress-zip
安装后, 你将可以使用require(‘decompress-zip’)在代码中要求该模块。请访问Github中的模块存储库以获取更多信息。
实现
使用decompress-zip, 你将能够执行2个任务:解压缩.zip文件并列出.zip文件的内容。
解压缩(解压缩.zip文件)
要解压缩a.zip文件, 我们将使用unzipper.extract方法。此方法提取ZIP存档文件的内容, 并返回带有两个可能事件的EventEmitter:错误时触发错误, 提取完成后提取。
传递给extract事件的值是每个文件及其压缩方式的基本日志。要解压缩文件, 你只需要提供zip文件的当前路径和目标目录:
var ZIP_FILE_PATH = "C:/path/to/file/myzipfile.zip";
var DESTINATION_PATH = "C:/desktop/examplefolder";
var unzipper = new DecompressZip(ZIP_FILE_PATH);
// Add the error event listener
unzipper.on('error', function (err) {
console.log('Caught an error', err);
});
// Notify when everything is extracted
unzipper.on('extract', function (log) {
console.log('Finished extracting', log);
});
// Notify "progress" of the decompressed files
unzipper.on('progress', function (fileIndex, fileCount) {
console.log('Extracted file ' + (fileIndex + 1) + ' of ' + fileCount);
});
// Start extraction of the content
unzipper.extract({
path: DESTINATION_PATH
// You can filter the files that you want to unpack using the filter option
//filter: function (file) {
//console.log(