精品人伦一区二区三区蜜桃视频_日韩精品视频在线_www.色综合_久久久久久一区_aaaaaa黄色片_亚洲精品久久

NodeJS強大的解壓ZIP 庫

node-stream-zip庫是一款非常棒的zip文件壓縮庫,使用方便,能解壓非標準格式的ZIP文件,經過對比,使用起來比
hzip,unzipper,zip-local等庫要方便很多,并且支持同步方法和異步方法。并且和adm-zip一樣,支持解壓制定文件和目錄,adm-zip不能解壓非標準的zip文件,例如APK文件。

功能特性

不加載整個文檔到內存,內容按塊讀取

支持大文件

非阻塞讀取,沒有同步輸入/輸出

快速初始化

無依賴關系,沒有二進制插件

內置zlib模塊解壓縮

deflate,deflate64,sfx,macosx / windows 內置檔案支持

ZIP64支持

使用方法

安裝

npm install node-stream-zip

打開ZIP文件

const StreamZip = require('node-stream-zip');
const zip = new StreamZip({
    file: 'archive.zip',
    storeEntries: true
});

// 報錯提示
zip.on('error', err => { /*...*/ });

可用參數:

storeEntries: 默認為 true 允許使用您zip存檔中的條目,否則需要使用條目事件
skipEntryNameValidation:默認為 true 是否檢查非法字符路徑, 例如../ 或 c:\123。

列出文件列表

zip.on('ready', () => {
    console.log('Entries read: ' + zip.entriesCount);
    for (const entry of Object.values(zip.entries())) {
        const desc = entry.isDirectory ? 'directory' : `${entry.size} bytes`;
        console.log(`Entry ${entry.name}: ${desc}`);
    }
    //讀取完畢,記得關閉文件
    zip.close()
});

標準流讀取一個文件

zip.on('ready', () => {
    zip.stream('path/inside/zip.txt', (err, stm) => {
        stm.pipe(process.stdout);
        stm.on('end', () => zip.close());
    });
});

解壓文件到硬盤

zip.on('ready', () => {
    zip.extract('path/inside/zip.txt', './extracted.txt', err => {
        console.log(err ? 'Extract error' : 'Extracted');
        zip.close();
    });
});

解壓目錄到硬盤

zip.on('ready', () => {
    fs.mkdirSync('extracted');
    zip.extract('path/inside/zip/', './extracted', err => {
        console.log(err ? 'Extract error' : 'Extracted');
        zip.close();
    });
});

解壓所有文件

zip.on('ready', () => {
    fs.mkdirSync('extracted');
    zip.extract(null, './extracted', (err, count) => {
        console.log(err ? 'Extract error' : `Extracted ${count} entries`);
        zip.close();
    });
});

同步讀取文件到變量

zip.on('ready', () => {
    const data = zip.entryDataSync('path/inside/zip.txt');
    zip.close();
});

解壓文件夾時,監聽事件

zip.on('extract', (entry, file) => {
    console.log(`Extracted ${entry.name} to ${file}`);
});

加載期間為每個條目生成一個條目事件

zip.on('entry', entry => {
    // you can already stream this entry,
    // without waiting until all entry descriptions are read (suitable for very large archives)
    console.log(`Read entry ${entry.name}`);
});

可用方法

zip.entries() - 獲取所有條目描述
zip.entry(name) - 通過名稱獲取條目描述
zip.stream(entry, function(err, stm) { }) - 通過條目讀取數據
zip.entryDataSync(entry) -同步通過條目讀取數據
zip.close()? 不用的時候關閉它

github地址

https://github.com/antelle/node-stream-zip

 

THE END
主站蜘蛛池模板: 一区在线播放 | 久草免费在线视频 | 亚洲一区二区在线播放 | 狠狠草视频 | 中文字幕精品一区久久久久 | a在线视频观看 | 国产在线观 | 天天色天天射天天干 | 欧美色偷拍 | 91在线视频精品 | 欧美日韩福利视频 | 久久久久久国产一区二区三区 | 一区在线免费视频 | 超碰在线播 | 国产伦精品一区二区三区视频金莲 | 亚洲自拍偷拍视频 | 亚洲午夜精品 | 日韩欧美电影在线 | 一区二区在线不卡 | 免费视频二区 | 91视频国产精品 | 中文在线亚洲 | 欧美一区二区三区,视频 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 久久国内精品 | 国产1区 | 精国产品一区二区三区四季综 | 亚洲精品字幕 | 免费视频一区二区 | 中文字幕在线免费观看 | 日韩av成人 | 在线观看视频一区 | 黄色av网站在线免费观看 | 欧美一区二区在线 | 韩三级在线观看 | 二区成人 | 亚洲欧美精品国产一级在线 | 国产精品一区二区av | 蜜桃臀av一区二区三区 | 国产一级视频在线观看 | 久久久久久综合 |