国产精在线-国产精欧美一区二区三区-国产精视频-国产精品 日韩-一级黄色片在线看-一级黄色片在线播放

NodeJS強(qiáng)大的解壓ZIP 庫(kù)

node-stream-zip庫(kù)是一款非常棒的zip文件壓縮庫(kù),使用方便,能解壓非標(biāo)準(zhǔn)格式的ZIP文件,經(jīng)過(guò)對(duì)比,使用起來(lái)比
hzip,unzipper,zip-local等庫(kù)要方便很多,并且支持同步方法和異步方法。并且和adm-zip一樣,支持解壓制定文件和目錄,adm-zip不能解壓非標(biāo)準(zhǔn)的zip文件,例如APK文件。

功能特性

不加載整個(gè)文檔到內(nèi)存,內(nèi)容按塊讀取

支持大文件

非阻塞讀取,沒(méi)有同步輸入/輸出

快速初始化

無(wú)依賴關(guān)系,沒(méi)有二進(jìn)制插件

內(nèi)置zlib模塊解壓縮

deflate,deflate64,sfx,macosx / windows 內(nèi)置檔案支持

ZIP64支持

使用方法

安裝

npm install node-stream-zip

打開(kāi)ZIP文件

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

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

可用參數(shù):

storeEntries: 默認(rèn)為 true 允許使用您zip存檔中的條目,否則需要使用條目事件
skipEntryNameValidation:默認(rèn)為 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}`);
    }
    //讀取完畢,記得關(guān)閉文件
    zip.close()
});

標(biāo)準(zhǔn)流讀取一個(gè)文件

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

解壓文件到硬盤(pán)

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

解壓目錄到硬盤(pán)

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();
});

解壓文件夾時(shí),監(jiān)聽(tīng)事件

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

加載期間為每個(gè)條目生成一個(gè)條目事件

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) - 通過(guò)名稱獲取條目描述
zip.stream(entry, function(err, stm) { }) - 通過(guò)條目讀取數(shù)據(jù)
zip.entryDataSync(entry) -同步通過(guò)條目讀取數(shù)據(jù)
zip.close()? 不用的時(shí)候關(guān)閉它

github地址

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

 

THE END
主站蜘蛛池模板: 久久免费精品国产72精品剧情 | 久青草免费视频手机在线观看 | 国产成人亚洲综合欧美一部 | 四川一级片| 男女男精品视频网站 | 久久99国产精品久久99无号码 | 亚洲一级毛片欧美一级说乱 | 美女黄网站 | 午夜精品久久久久久毛片 | 高清波多野结衣一区二区三区 | 男人的天堂久久精品激情 | 在线aaa| 亚洲精品xxxxx | 国产精品人成人免费国产 | 久久女同互慰一区二区三区 | 日韩一区二区三区四区不卡 | 精品网址 | 中国老太卖淫播放毛片 | 91热在线观看精品 | 波多野结衣视频免费在线观看 | 美国毛片基地a级e片 | aa级毛片毛片免费观看久 | 国产素人在线观看 | 国产三级欧美 | 国内精品久久久久久野外 | 99色播| 老司机亚洲精品 | 免费欧洲毛片a级视频 | 国产精品9999久久久久 | 国产亚洲小视频 | 国产三级日产三级韩国三级 | 亚洲免费在线 | 黄色片成年人 | 亚洲第一页在线视频 | 日韩中文字幕在线亚洲一区 | 窝窝午夜看片七次郎青草视频 | www.一区| 免费高清一级欧美片在线观看 | 喷潮白浆直流在线播放 | 13一14周岁毛片免费 | 永久免费观看午夜视频在线 |