下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用Perl动态建立ZIP压缩文件_ Perl供应大量处理不同文件格式的内置函数和外来模块。格外是,它可以通过Archive:Zip模块,动态建立和阅读ZIP压缩文件,而不必依靠外来工具和有用工具。本教程说明这个模块的基础理论和常用方法。 首先,在Perl提示符下运行以下指令下载并安装该模块(假如你还没有安装它): perl perl -MCPAN -e install Archive:Zip 留意,Archive:Zip模块依靠zlib库运行,因此在安装过程中,系统可能要求你下载并安装这个库。 建立ZIP压缩文件 首先我们看一个简洁的例子。动态建立一个包含几个其它文件的ZIP压缩文件。输入(或
2、复制)如列表A所示的脚本: 列表A 这段脚本相当简洁,但值得认真看一看。第一步是输入Archive:Zip模块,并初始化Archive:Zip对象的一个实例。接下来,将全部文件清单以及它们在磁盘中的位置进行压缩,保存为一个Perl数组。要记住的是,脚本(精准地说,运行脚本的用户)必需拥有访问这些磁盘位置的许可,否则建立压缩文件的过程就会失败。 然后,用foreach()循环遍历这个数组,用对象的addFile()方法在压缩文件中增加列出的文件。一旦循环完成,则通过调用writeToFileNamed()方法把最终的压缩文件写入磁盘,writeToFileNamed()方法接受所建立的ZIP文件
3、的完整路径和名称。记住,脚本必需拥有向指定的磁盘位置写入文件的许可;否则,writeToFileNamed()方法将会失败,因而不能建立压缩文件。 格外要留意调用writeToFileNamed():方法的返回值。假如文件被正确写入,Archive:Zip返回一个AZ_OK值,在往后操作前系统会检查这个值。之后在这个文件中你还会看到这个返回值。 要应用上面的脚本实例,请修改files数组的内容以反映你的当地系统配置,并试图在指令提示符或扫瞄器中执行它。假如一切运行正常,这段脚本应当会找到并将全部文件读入一个叫做dummy.zip的文件中。 查看ZIP压缩文件内容 如何查看一个现有的压缩文件呢?
4、Archive:Zip带有一个read()方法,可以阅读一个压缩文件的内容,并可访问与单个文件有关的具体信息。列表B是它的一个应用实例: 列表B 这里,read()方法用于阅读ZIP压缩文件并获得与其内容有关的信息。然后,调用members()方法返回一个结构化对象数组,每个数组元素代表压缩文件中的一个单独文件。通常来说,数组中的每个对象包含相应文件的名称信息、它的许可模式、状态、压缩类型、大小以及最终一次修改时间。我们可以用一个循环便利地供应这些信息,并对它们重新格式化,使它更具可读性,如上面的列表B所示。 以下是一个输出结果样本: mystuff/ad.gif, 1447:345 myst
5、uff/alcon.doc, 200:34 mystuff/alcon.xls, 28580:21483 在现有ZIP压缩文件中插入文件 假如你已经有一个ZIP压缩文件,只需要往其中增加一个新文件,那么操作过程就相当简洁:只要调用addFile()方法,增加文件的名称和路径即可。为说明这一点,我们回到dummy.zip文件,并试图给它增加一些新文件。(列表C) 列表C 在一个现有压缩文件中插入一个文件的过程与建立一个新压缩文件特别相像:首先初始化一个新的Archive:Zip对象,在其中读入原始的压缩文件,再建立一个包含增加文件清单的数组,并把这个数组提交给循环中的addFile()方法。胜利
6、添加文件后,就可以用overwrite()方法用更新后的压缩文件掩盖原始的压缩文件。 从现有的ZIP压缩文件中提取文件 往压缩文件中添加文件后,如何将它们提取出来呢?很明显,用法extractTree()方法!这个方法允许你把现有压缩文件中的全部文件提取到一个指定的名目中,如列表D所示: 列表D 在上例中,extractTree()方法解压整个压缩文件,将其中的全部文件提取到一个指定名目中。假如这个名目不存在,extractTree()方法将自动建立这个名目;当然,这以脚本获得写磁盘的许可为前提。 好玩的是,你还可以进行更具选择性的提取操作,只提取与一个预先定义的列表相匹配的文件。要完成这个任务,你需要用法extractMember()方法,它逐个提取压缩文件,关心你安置一个中间过滤器或在连续提取前执行检查。在模块文档中可以找相关实例。 敏捷性 如上面的例子所示,Perl的Arc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 祠堂征收补偿协议书
- 疫情期间出差协议书
- 电工班组劳务协议书
- 电子厂采购合同范本
- 护理文件书写质量评价标准
- 健康评估正常心电图
- 个人房屋抵押借款简单的合同范本
- 浙海院海洋科学导论课件03海水的物理特性和世界大洋的层化结构
- 近视眼症状辨别及护理建议
- 2025-2026学年安徽省某校高三上学期9月月考历史试题
- 2025贵州水投水务集团有限公司第三批次招聘笔试考试参考题库及答案解析
- 老年人常见皮肤病
- 牧业公司运营方案
- 2025中国智能安防系统集成行业调研及投资价值评估报告
- 流行病学(第9版)配套-第三章 病因与病因推断
- YY/T 0310-2025X射线计算机体层摄影设备通用技术条件
- 2025-2030航空航天复合材料结构件制造工艺突破与成本控制
- 第2课 第二次鸦片战争说课稿-2025-2026学年初中历史与社会部编版八年级上册-部编版
- 保安安全事故案例
- 工业噪声治理合同范本
- 文物古建筑修复项目管理方案
评论
0/150
提交评论