JavaScript中的Zip文件

时间:2019-01-23 19:44:10

标签: javascript node.js zip unzip

我在目录“ ./Data/Engine/modules/xnc.zip”中有一个文件,我想将其解压缩到“ ./Data/Engine/modules/xnc”。

在那之后,我将写入文件,我需要轻松地重新压缩它!

我将创建自己的方法,但无法创建完整的zip存档zip并解压缩模块

有人有什么想法吗?

编辑:感谢您的所有帮助! 遗憾的是,我无法再发送问题了:(

3 个答案:

答案 0 :(得分:0)

您可以使用adm-zip轻松压缩/解压缩文件

答案 1 :(得分:0)

您可以在子进程中使用zip / unzip:

const cp = require('child_process')

exec('unzip path/to/zip_file.zip', (err) => {
  if(err) return console.log(err)
  /// Files have been unzipped
})

答案 2 :(得分:0)

您可以使用nodejs模块AdmZip来压缩和解压缩文件。

安装:

npm install adm-zip

代码:

const fs = require('fs');
const AdmZip = require('adm-zip');


  var zip = new AdmZip(".sample.zip");
  zip.extractEntryTo(/*entry name*/"sample.txt", /*target path*/"D:/stackoverflow", /*maintainEntryPath*/false, /*overwrite*/true);
  fs.appendFileSync('sample.txt', 'data to append');
  zip.addLocalFile('D:/stackoverflow/sample.txt')
  zip.writeZip('D:/stackoverflow/sample.zip')

如果要删除解压缩的文件

fs.unlinkSync('sample.txt')