在Node.js中執(zhí)行解壓縮文件操作方法
一、解壓文件
1.安裝依賴:
安裝adm-zip依賴包:npm install adm-zip --save
安裝iconv-lite依賴包:npm install iconv-lite --save
解壓前的file文件夾結(jié)構(gòu):

update-1.0.2.zip壓縮包內(nèi)容:

2.在depresssFile.js文件,解壓zip文件代碼,方法一:(解壓文件中文件名包含中文推薦使用)
代碼中的:
entry.entryName = iconv.decode(entry.rawEntryName, 'utf8');
可以替換成(二選一)
entry.entryName = iconv.decode(entry.rawEntryName, 'gbk');
文件的路徑可以寫絕對路徑也可以寫相對路徑,絕對路徑不容易錯(cuò),相對路徑是depresssFile.js文件到update-1.0.2.zip解壓文件的位置
// 引入依賴
const AdmZip = require('adm-zip');
const iconv = require('iconv-lite');
// 待解壓zip文件所在的路徑
var file = 'D:/node/LocalLibrary/file/update-1.0.2.zip';
// 解壓后存放的文件夾
var target = 'D:/node/LocalLibrary/file';
// 方法1:解壓zip文件
function decompressFile1(file, target) {
const zip = new AdmZip(file);
var zipEntries = zip.getEntries();
for (var i = 0; i < zipEntries.length; i++) {
var entry = zipEntries[i];
entry.entryName = iconv.decode(entry.rawEntryName, 'utf8');
}
zip.extractAllTo(target, true);
}
// 執(zhí)行函數(shù)
decompressFile1(file, target);
// 導(dǎo)出(在其他js文件引用decompressFile函數(shù)需要添加以下代碼)
module.exports = decompressFile1;解壓zip文件代碼,方法二:
const AdmZip = require('adm-zip');
// 待解壓zip文件所在的路徑
var file = 'D:/node/LocalLibrary/file/update-1.0.2.zip';
// 解壓后存放的文件夾
var target = 'D:/node/LocalLibrary/file';
// 方法2:解壓zip文件
function decompressFile2(file, target) {
const zip = new AdmZip(file);
zip.extractAllTo(target, true);
}
// 調(diào)用
decompressFile2(file, target);
// 導(dǎo)出
module.exports = decompressFile2;解壓后的file文件夾結(jié)構(gòu):

二、壓縮文件
1.壓縮文件代碼:(壓縮文件的文件路徑對應(yīng)自己要壓縮的文件夾路徑即可,存放壓縮文件的文件路徑同理)
// 壓縮文件成zip格式
const AdmZip = require('adm-zip');
// filePath: 要壓縮的文件路徑
var filePath = 'D:/node/LocalLibrary/file/update-1.0.2/route/route.js';
// outputPath: 壓縮后的文件路徑
var outputPath = 'D:/node/LocalLibrary/file/route.zip';
// 壓縮文件
function compressFile(filePath, outputPath) {
const zip = new AdmZip();
zip.addLocalFile(filePath);
zip.writeZip(outputPath);
}
// 調(diào)用函數(shù)
compressFile(filePath, outputPath);
// 導(dǎo)出函數(shù)
module.exports = compressFile;壓縮完成的目錄結(jié)構(gòu):

到此這篇關(guān)于如何在Node.js中執(zhí)行解壓縮文件操作的文章就介紹到這了,更多相關(guān)node.js 解壓縮文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nodejs Stream 數(shù)據(jù)流使用手冊
這篇文章主要介紹了Nodejs Stream 數(shù)據(jù)流使用手冊的相關(guān)資料,感興趣的小伙伴一起學(xué)習(xí)吧2016-04-04
window系統(tǒng) nodejs安裝opencv環(huán)境配置圖文詳解
這篇文章主要介紹了window系統(tǒng) nodejs安裝opencv環(huán)境配置,結(jié)合圖文形式詳細(xì)分析了window環(huán)境下 nodejs安裝opencv的具體步驟、注意事項(xiàng)2023-04-04
使用Node.js的readline模塊逐行讀取并解析大文件
在Node.js環(huán)境中處理大文件是一個(gè)常見的需求,尤其是在處理日志文件、數(shù)據(jù)庫導(dǎo)出、或任何形式的大規(guī)模文本數(shù)據(jù)時(shí),本文將深入探討如何使用Node.js的readline模塊來實(shí)現(xiàn)這一功能,并討論相關(guān)的性能優(yōu)化和注意事項(xiàng),需要的朋友可以參考下2024-09-09
NodeJs項(xiàng)目中關(guān)閉ESLint的方法
ESLint是一個(gè)用來識別 ECMAScript 并且按照規(guī)則給出報(bào)告的代碼檢測工具,使用它可以避免低級錯(cuò)誤和統(tǒng)一代碼的風(fēng)格。這篇文章主要介紹了NodeJs項(xiàng)目中關(guān)閉ESLint的方法,需要的朋友可以參考下2018-08-08
Node.js使用Express創(chuàng)建Web項(xiàng)目詳細(xì)教程
如果需要入門使用node.js進(jìn)行web開發(fā),正在學(xué)習(xí) nodejs web開發(fā)指南 的和想快速了解node.js web開發(fā)模式的朋友,相信本文是有一定幫助意義的。2017-03-03
NPM 安裝cordova時(shí)警告:npm WARN deprecated minimatch@2.0.10: Pleas
這篇文章主要介紹了NPM 安裝cordova時(shí)警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to的相關(guān)資料,需要的朋友可以參考下2016-12-12

