Object 內建對象

物件ZipFile

ZipFile 物件是zip格式檔案壓縮解壓縮模組中的重要對象,提供了對zip文件的讀寫訪問

ZipFile 物件繼承自Stream對象,因此可以透過Stream物件一樣的方式進行操作。

常用的靜態函數有:

ZipFile 物件常用的實例函數及方法有:

程式碼實例如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
var zip = require('zip'); var path = require('path'); var fs = require('fs'); var zipfile = zip.open(path.join(__dirname, 'unzip_test.zip'), 'w'); // write a file var buf = new Buffer('test data'); zipfile.write(buf, 'test.txt'); // read a file buf = zipfile.read("unzip_test.js"); console.log(buf); zipfile.close();

繼承關係

成員函數

namelist

取得檔案名稱列表

1
NArray ZipFile.namelist() async;

回傳結果:

  • NArray, 傳回包含檔案名稱的列表對象

infolist

取得文件資訊列表

1
NArray ZipFile.infolist() async;

回傳結果:

  • NArray, 傳回包含文件資訊的列表對象

文件資訊包含欄位有:filename, date, compress_type, compress_size, file_size, password, data


getinfo

取得文件訊息

1
NObject ZipFile.getinfo(String member) async;

呼叫參數:

  • member: String, 指定要取得資訊的檔名

回傳結果:

  • NObject, 回傳文件資訊對象

文件資訊包含欄位有:filename, date, compress_type, compress_size, file_size, password, data


read

傳回從壓縮檔案讀取的數據

1 2
Buffer ZipFile.read(String member, String password = "") async;

呼叫參數:

  • member: String, 指定要讀取的檔名
  • password: String, 解壓縮密碼, 預設沒有密碼

回傳結果:

  • Buffer, 返回文件的所有數據

readAll

解壓縮所有文件

1
NArray ZipFile.readAll(String password = "") async;

呼叫參數:

  • password: String, 解壓縮密碼, 預設沒有密碼

回傳結果:

  • NArray, 包含所有文件資料及資訊的列表

extract

解壓縮指定文件

1 2 3
ZipFile.extract(String member, String path, String password = "") async;

呼叫參數:

  • member: String, 指定要解壓縮的檔名
  • path: String, 指定要解壓縮到的路徑
  • password: String, 解壓縮密碼, 預設沒有密碼

解壓縮指定檔案到流

1 2 3
ZipFile.extract(String member, SeekableStream strm, String password = "") async;

呼叫參數:

  • member: String, 指定要解壓縮的檔名
  • strm:SeekableStream, 指定要解壓縮到的流
  • password: String, 解壓縮密碼, 預設沒有密碼

extractAll

解壓縮所有檔案到指定路徑

1 2
ZipFile.extractAll(String path, String password = "") async;

呼叫參數:

  • path: String, 指定要解壓縮到的路徑
  • password: String, 解壓縮密碼, 預設沒有密碼

write

寫入指定文件到壓縮文件

1 2 3
ZipFile.write(String filename, String inZipName, String password = "") async;

呼叫參數:

  • filename: String, 指定要寫入的文件
  • inZipName: String, 壓縮在zip文件內的檔名
  • password: String, 解壓縮密碼, 預設沒有密碼

寫入指定文件到壓縮文件

1 2 3
ZipFile.write(Buffer data, String inZipName, String password = "") async;

呼叫參數:

  • data:Buffer, 指定要寫入的檔案數據
  • inZipName: String, 壓縮在zip文件內的檔名
  • password: String, 解壓縮密碼, 預設沒有密碼

寫入指定文件到壓縮文件

1 2 3
ZipFile.write(SeekableStream strm, String inZipName, String password = "") async;

呼叫參數:

  • strm:SeekableStream, 指定要寫入檔案資料流
  • inZipName: String, 壓縮在zip文件內的檔名
  • password: String, 解壓縮密碼, 預設沒有密碼

close

關閉打開的zip文件

1
ZipFile.close() async;

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String ZipFile.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

1
Value ZipFile.toJSON(String key = "");

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值