node-stream-zip

大型 ZIPs 文件查看
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 Node.js 扩展
软件类型 开源软件
地区 不详
投 递 者 夏侯浩气
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

node-stream-zip 是查看和提取大型 ZIP 文件的 Node.js 库。

特性:

  • 从不加载完整的归档到内存,一切都是通过块读取

  • 大型归档支持

  • 所有操作都是非阻塞,非同步 i/o

  • 快速初始化

  • 无依赖,无二进制组件

  • 内置 zlib 模块解压

  • deflate, deflate64, sfx, macosx/windows 内置归档

  • ZIP64 支持

安装

$ npm install node-stream-zip

使用

var StreamZip = require('node-stream-zip');  
var zip = new StreamZip({  
    file: 'archive.zip',  
    storeEntries: true    
});
zip.on('error', function(err) { /*handle*/ });
zip.on('ready', function() {
    console.log('Entries read: ' + zip.entriesCount);
    // stream to stdout
    zip.stream('node/benchmark/net/tcp-raw-c2s.js', function(err, stm) {
        stm.pipe(process.stdout);
    });
    // extract file
    zip.extract('node/benchmark/net/tcp-raw-c2s.js', './temp/', function(err) {
        console.log('Entry extracted');
    });
    // extract folder
    zip.extract('node/benchmark/', './temp/', function(err, count) {
        console.log('Extracted ' + count + ' entries');
    });
    // extract all
    zip.extract(null, './temp/', function(err, count) {
        console.log('Extracted ' + count + ' entries');
    });
    // read file as buffer in sync way
    var data = zip.entryDataSync('README.md');
});
zip.on('extract', function(entry, file) {
    console.log('Extracted ' + entry.name + ' to ' + file);
});
zip.on('entry', function(entry) {
    // called on load, when entry description has been read
    // 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);
});
  • 1、系统处理缓存的方式 (1)传统方式:先将数据全部读入缓存(内存),然后再进行处理。         优点:符合人的思维方式,流程比较流程         缺点:对于数据量很大的文件,处理效率低下 (2)数据流方式:读一块,处理一块。将待处理的数据分隔成一块一块的,像流水一样,每当有新的数据块进入内存时,它会触发一个事件,程序就从内存中获取新数据进行处理。         优点:程序处理数据的效

  • node-stream-zip库是一款非常棒的zip文件压缩库,使用方便,能解压非标准格式的ZIP文件,经过对比,使用起来比 hzip,unzipper,zip-local等库要方便很多,并且支持同步方法和异步方法。并且和adm-zip一样,支持解压制定文件和目录,adm-zip不能解压非标准的zip文件,例如APK文件。 功能特性 不加载整个文档到内存,内容按块读取 支持大文件 非阻塞读取,没有

  • NodeJS 文件(夹)压缩/解压方案(zip/unzip)-Linux上zip相关命令 Use adm-zip adm-zip支持archive和unarchive一个或多个文件或者整个文件夹的功能,使用非常的简单方便。 var adm_zip = require('adm-zip'); //creating archives var zip = new adm_zip(); zip.ad

  • 推荐插件 1、node-stream-zip node-stream-zip文档参考:https://github.com/antelle/node-stream-zip 2、adm-zip adm-zip文档参考:https://github.com/cthackers/adm-zip/wiki/ADM-ZIP 对比两个插件后发现 node-stream-zip 更为轻量、adm-zip 功能更

  • 一、压缩文件 1.1压缩文件需要用到得模块是 archiver(下载量蛮高得几百万每周) 文档地址:https://www.npmjs.com/package/archiver 1.2 安装 npm install archiver --save 1.3示例代码 const archiver = require('archiver') const fs = require('fs') cons

  • var fetch = require("node-fetch"); var fs = require("fs"); function download(u, p) { return fetch(u, { method: 'GET', headers: { 'Content-Type': 'application/octet-stream' },

 相关资料
  • 问题内容: 我正在开发一个简单的php上传脚本,用户只能上传ZIP和RAR文件。 我应该使用哪些MIME类型检查?(请提供完整清单) 谢谢.. 问题答案: 来自freedompeace,Kiyarash和Sam Vloeberghs的答案: 我也会检查文件名。这是检查文件是RAR还是ZIP文件的方法。我通过创建一个快速的命令行应用程序对其进行了测试。 请注意,它仍然不能100%确定,但是可能已经足

  • 本文向大家介绍python查看zip包中文件及大小的方法,包括了python查看zip包中文件及大小的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python查看zip包中文件及大小的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 我正在尝试将 文件 从 一个文件夹 保存到 另一个 文件夹 。 zip文件夹 放置在其他目录中。而且我编写了以下代码: archive.php 但是可惜我无法创建.zip文件夹。我错过了任何一步吗? 问题答案: TEST是您的项目文件夹名称。 您可以根据需要定义路径。

  • 问题内容: 我目前正在尝试针对更大的csv文件(3.000.000行)使用大量的ID(〜5000)。 我想要所有包含ID文件中ID的csv行。 我的幼稚方法是: 但这需要永远! 有没有更有效的方法来解决这个问题? 问题答案: 尝试 另外,由于您的模式似乎是固定的字符串,因此提供选项可能会加快速度。

  • 我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总

  • 问题内容: 我正在尝试将一些文件添加到ZIP文件中,它会创建文件,但不会在其中添加任何内容。代码1: 我的功能: 编辑: 我发现了问题,只是在将文件从C:\驱动器写入F:\驱动器的ZIP时遇到麻烦 问题答案: 您不能压缩文件夹,只能压缩文件。要压缩文件夹,必须手动添加所有子文件。我写了本课来完成这项工作。您可以免费获得它:) 用法是这样的: 这是课程: 请享用! 编辑 :要检查程序是否仍在忙,可以