模組zip
zip 模組是一個用於檔案壓縮和解壓縮的模組。它提供了壓縮、解壓縮、查找和枚舉zip 檔案中的檔案清單等操作
透過zip 模組,我們可以將多個檔案打包成一個zip 文件,也可以對zip 檔案進行解壓縮以恢復原始檔案。
下面是一些範例:
1.壓縮檔:
1
2
3
4
5
6var zip = require('zip');
var zipfile = zip.open('/path/to/dest.zip', 'w');
zipfile.write('/path/to/src1', 'src1');
zipfile.write('/path/to/src2', 'src2');
zipfile.close();
2.解壓縮檔:
1
2
3
4
5
6
7
8
9
10var zip = require('zip');
var zipfile = zip.open('/path/to/src.zip', 'r');
var filenames = zipfile.namelist();
for (var i = 0; i < filenames.length; ++i) {
var filename = filenames[i];
var data = zipfile.read(filename);
console.log(filename + ': ' + data.length + ' bytes');
}
zipfile.close();
靜態函數
isZipFile
判斷檔案是否為zip格式
1static Boolean zip.isZipFile(String filename) async;
呼叫參數:
- filename: String, 檔名
回傳結果:
- Boolean, 回傳true代表文件是zip文件
open
開啟一個zip文件
1
2
3static ZipFile zip.open(String path,
String mod = "r",
String codec = "utf8") async;
呼叫參數:
- path: String, 檔案路徑
- mod: String, 開啟檔案模式, "r"代表讀取, "w"代表建立, "a"代表在zip檔後追加
- codec: String, 設定zip 檔案編碼方式,預設為"utf8"
回傳結果:
- ZipFile, 返回zip檔案對象
開啟一個zip文件
1
2
3static ZipFile zip.open(Buffer data,
String mod = "r",
String codec = "utf8") async;
呼叫參數:
- data:Buffer, zip檔數據
- mod: String, 開啟檔案模式, "r"代表讀取, "w"代表建立, "a"代表在zip檔後追加
- codec: String, 設定zip 檔案編碼方式,預設為"utf8"
回傳結果:
- ZipFile, 返回zip檔案對象
開啟一個zip文件
1
2
3static ZipFile zip.open(SeekableStream strm,
String mod = "r",
String codec = "utf8") async;
呼叫參數:
- strm:SeekableStream, zip檔案流
- mod: String, 開啟檔案模式, "r"代表讀取, "w"代表建立, "a"代表在zip檔後追加
- codec: String, 設定zip 檔案編碼方式,預設為"utf8"
回傳結果:
- ZipFile, 返回zip檔案對象