nodejs zip安装,node zip怎么安装
节点。射流研究…极速入门课程:进入学习
开发文件(夹)压缩/解压方案(压缩/解压缩)-Linux上活力相关命令
Use adm-zip
adm-zip支持档案馆和取消归档一个或多个文件或者整个文件夹的功能,使用非常的简单方便。
var ADM _ zip=require( ADM-zip );
//创建档案
var zip=new ADM _ zip();
zip.addLocalFolder( ./dist );
zip.writeZip( ./dist。zip’);
//提取档案
var unzip=new ADM _ zip( dist。zip’);
unzip.extractAllTo(./dist ,/* overwrite */true);
Use JSZip
这个库在使用的时候需要把文件一个个增加到活力对象中,而且需要把内容也手动添加,再使用写文件操作把内存中的活力对象转成物理存储。所以如果是对于一整个文件夹来说,就很麻烦,需要遍历文件夹
var JSZip=require( JSZip );
var fs=require( fs );
var zip=new JSZip();
var file _ content=fs。读取文件同步( archive/a . txt );
zip.file(a.txt ,file _ content);
var数据=fs。读取文件同步( archive/img/pic。JPEG’);
zip.file(img/pic.jpeg ,data,{ base64:true });
var zip文件夹=zip。生成({ type: node buffer });
fs.writeFile(jszip.zip ,zipfolder,function (err) {
if(err)throw err;
});JSZip里面也有个文件夹方法,但它只是用来切换活力对象内部的虚拟路径,比如zip.folder(img ).文件( a.txt )就是在活力中添加一个图片子目录,在下面创建a.txt,效果等同于zip.file(img/a.txt )。这里还需要注意的是,文件的内容都需要手动添加,如果仅仅是拉链。文件(“a . txt”);只是在活力对象中创建了内容为空的文本文件(文本文件)文件,而且它只是存在于内存中,需要写文件操作后才会真正存到磁盘。
使用归档程序并解压缩
档案管理员很强大,支持活力格式水手格式,只需要提供路径就可以压缩已存在的文件夹。
压缩:
//需要模块
var fs=require( fs );
var Archiver=require( Archiver );
//创建一个文件,将存档数据流式传输到该文件。
var输出=fs。create write stream(_ _ dirname /示例。zip’);
var archive=archiver(zip ,{
zlib: { level: 9 },//设置压缩级别。
});
//将存档数据传输到文件
存档.管道(输出);
//从流中追加文件
var file 1=_ _ dirname /file 1。txt ;
存档。追加(fs。createreadstream(文件1),{ name:文件1。txt });
//从字符串追加文件
存档.追加(奶酪串!,{ name:文件2。txt });
//从缓冲区追加文件
var buffer 3=缓冲区。from(缓冲它!);
archive.append(buffer3,{ name: file 3。txt });
//追加文件
archive.file(file1.txt ,{ name: file 4。txt });
//追加子目录中的文件,并在存档中将其命名为"新建-子目录"
archive.directory(subdir/, new-subdir );
//从子目录追加文件,将其内容放在存档的根目录下
archive.directory(subdir/,false);
//从全局模式追加文件
archive.glob(subdir/* .txt’);
//完成存档(即我们已经完成附加文件,但流还没有完成)
//关闭,结束或完成可能会在调用此方法后立即触发,因此请事先注册它们
存档。finalize();解压
var fs=require( fs );
var unzip=require( unzip );
fs。createreadstream( Archiver-unzip。zip’).管道(
拉开拉链。提取({ path: unarchive })
);
Linux上zip/unzip命令
易于获取安装活力解压缩解压缩活力文件
补充说明:解压缩为。活力压缩文件的解压缩程序。
参数:
-丙将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f更新现有的文件。
-我显示压缩文件内所包含的文件。
-p与-丙参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
相当于表示“有…的”检查压缩文件是否正确。
-你与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v执行是时显示详细的信息。
-z仅显示压缩文件的备注文字。
[构成动植物的古名或拉丁化的现代名]对文本文件进行必要的字符转换。
-乙不要对文本文件进行字符转换。
压缩文件中的-C文件名区分大小写。
-j不处理压缩文件中的原始目录路径。
-L将压缩文件中的所有文件名都改为小写。
-M将输出结果发送给more程序进行处理。
-n解压缩时不要覆盖原始文件。
-o你不用先问用户,执行unzip后原始文件会被覆盖。
-P Password使用zip的密码选项。
-q在不显示任何信息的情况下执行。
-s将文件名中的空白字符转换为下划线字符。
-V保留虚拟机的文件版本信息。
-X解压缩时同时保存回文件的原始UID/GID。
[.zip文件]指定。zip压缩文件。
[文件]指定。要处理的zip压缩文件。
-d directory指定解压缩后存储文件的目录。
-x file指定。不处理zip压缩文件。
-Z unzip-Z等于执行zipinfo指令。
参数:
-a将文件转换为ASCII模式。
-F尝试修复损坏的压缩文件。
-h显示帮助界面。
-m压缩文件后,删除源文件。
-n特定字符串不压缩带有特定后缀字符串的文件。
-o将压缩文件中所有文件的最新更改时间设置为压缩时间。
-q Quiet模式,压缩时不显示指令的执行过程。
-r一起处理指定目录中的所有子目录和文件。
-S包含系统文件和隐藏文件(S是大写的)。
示例:
zip命令可用于将文件压缩成通用的zip格式。unzip命令用于解压缩zip文件。压缩文件abc.txt和名为test.zip的目录dir1:
zip -r test.zip abc.txt目录1
#解压:
``嘘
在unzippest.zip目录中有abc1.zip、abc2.zip和abc3.zip,使用通配符。
解压缩abc\?zip评论:如果*代表任意数量的字符,则代表一个字符。不,只查看内容。
Unzip -v test.zip验证zip文件的完整性,并检查在线和离线包是否已经下载。
Unzip -t test.zip我用-v选项发现压缩后的music.zip文件中有很多目录和子目录,所有的子目录其实都是歌曲mp3文件。我想将所有这些文件下载到一级目录,而不是一层一层地构建目录:
Unzip -j music.zip推荐学习:JS视频教程以上是Node中zip压缩和zip解压缩(带代码)的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。