用Perl動態(tài)建立ZIP壓縮文件_

上傳人:hong****2021 文檔編號:24957363 上傳時間:2021-07-17 格式:DOCX 頁數(shù):5 大?。?3.47KB
收藏 版權(quán)申訴 舉報(bào) 下載
用Perl動態(tài)建立ZIP壓縮文件__第1頁
第1頁 / 共5頁
用Perl動態(tài)建立ZIP壓縮文件__第2頁
第2頁 / 共5頁
用Perl動態(tài)建立ZIP壓縮文件__第3頁
第3頁 / 共5頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《用Perl動態(tài)建立ZIP壓縮文件_》由會員分享,可在線閱讀,更多相關(guān)《用Perl動態(tài)建立ZIP壓縮文件_(5頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、用Perl動態(tài)建立ZIP壓縮文件_ Perl供應(yīng)大量處理不同文件格式的內(nèi)置函數(shù)和外來模塊。格外是,它可以通過Archive:Zip模塊,動態(tài)建立和閱讀ZIP壓縮文件,而不必依靠外來工具和有用工具。本教程說明這個模塊的基礎(chǔ)理論和常用方法。 首先,在Perl提示符下運(yùn)行以下指令下載并安裝該模塊(假如你還沒有安裝它): perl perl -MCPAN -e install Archive:Zip 留意,Archive:Zip模塊依靠zlib庫運(yùn)行,因此在安裝過程中,系統(tǒng)可能要求你下載并安裝這個庫。 建立ZIP壓縮文件 首先我們看一個簡潔的例子。動態(tài)建立一個包含幾個其它文件的ZIP壓縮文件。輸入(或

2、復(fù)制)如列表A所示的腳本: 列表A 這段腳本相當(dāng)簡潔,但值得認(rèn)真看一看。第一步是輸入Archive:Zip模塊,并初始化Archive:Zip對象的一個實(shí)例。接下來,將全部文件清單以及它們在磁盤中的位置進(jìn)行壓縮,保存為一個Perl數(shù)組。要記住的是,腳本(精準(zhǔn)地說,運(yùn)行腳本的用戶)必需擁有訪問這些磁盤位置的許可,否則建立壓縮文件的過程就會失敗。 然后,用foreach()循環(huán)遍歷這個數(shù)組,用對象的addFile()方法在壓縮文件中增加列出的文件。一旦循環(huán)完成,則通過調(diào)用writeToFileNamed()方法把最終的壓縮文件寫入磁盤,writeToFileNamed()方法接受所建立的ZIP文件

3、的完整路徑和名稱。記住,腳本必需擁有向指定的磁盤位置寫入文件的許可;否則,writeToFileNamed()方法將會失敗,因而不能建立壓縮文件。 格外要留意調(diào)用writeToFileNamed():方法的返回值。假如文件被正確寫入,Archive:Zip返回一個AZ_OK值,在往后操作前系統(tǒng)會檢查這個值。之后在這個文件中你還會看到這個返回值。 要應(yīng)用上面的腳本實(shí)例,請修改files數(shù)組的內(nèi)容以反映你的當(dāng)?shù)叵到y(tǒng)配置,并試圖在指令提示符或掃瞄器中執(zhí)行它。假如一切運(yùn)行正常,這段腳本應(yīng)當(dāng)會找到并將全部文件讀入一個叫做dummy.zip的文件中。 查看ZIP壓縮文件內(nèi)容 如何查看一個現(xiàn)有的壓縮文件呢?

4、Archive:Zip帶有一個read()方法,可以閱讀一個壓縮文件的內(nèi)容,并可訪問與單個文件有關(guān)的具體信息。列表B是它的一個應(yīng)用實(shí)例: 列表B 這里,read()方法用于閱讀ZIP壓縮文件并獲得與其內(nèi)容有關(guān)的信息。然后,調(diào)用members()方法返回一個結(jié)構(gòu)化對象數(shù)組,每個數(shù)組元素代表壓縮文件中的一個單獨(dú)文件。通常來說,數(shù)組中的每個對象包含相應(yīng)文件的名稱信息、它的許可模式、狀態(tài)、壓縮類型、大小以及最終一次修改時間。我們可以用一個循環(huán)便利地供應(yīng)這些信息,并對它們重新格式化,使它更具可讀性,如上面的列表B所示。 以下是一個輸出結(jié)果樣本: mystuff/ad.gif, 1447:345 myst

5、uff/alcon.doc, 200:34 mystuff/alcon.xls, 28580:21483 在現(xiàn)有ZIP壓縮文件中插入文件 假如你已經(jīng)有一個ZIP壓縮文件,只需要往其中增加一個新文件,那么操作過程就相當(dāng)簡潔:只要調(diào)用addFile()方法,增加文件的名稱和路徑即可。為說明這一點(diǎn),我們回到dummy.zip文件,并試圖給它增加一些新文件。(列表C) 列表C 在一個現(xiàn)有壓縮文件中插入一個文件的過程與建立一個新壓縮文件特別相像:首先初始化一個新的Archive:Zip對象,在其中讀入原始的壓縮文件,再建立一個包含增加文件清單的數(shù)組,并把這個數(shù)組提交給循環(huán)中的addFile()方法。勝利

6、添加文件后,就可以用overwrite()方法用更新后的壓縮文件掩蓋原始的壓縮文件。 從現(xiàn)有的ZIP壓縮文件中提取文件 往壓縮文件中添加文件后,如何將它們提取出來呢?很明顯,用法extractTree()方法!這個方法允許你把現(xiàn)有壓縮文件中的全部文件提取到一個指定的名目中,如列表D所示: 列表D 在上例中,extractTree()方法解壓整個壓縮文件,將其中的全部文件提取到一個指定名目中。假如這個名目不存在,extractTree()方法將自動建立這個名目;當(dāng)然,這以腳本獲得寫磁盤的許可為前提。 好玩的是,你還可以進(jìn)行更具選擇性的提取操作,只提取與一個預(yù)先定義的列表相匹配的文件。要完成這個任務(wù),你需要用法extractMember()方法,它逐個提取壓縮文件,關(guān)心你安置一個中間過濾器或在連續(xù)提取前執(zhí)行檢查。在模塊文檔中可以找相關(guān)實(shí)例。 敏捷性 如上面的例子所示,Perl的Archive:Zip類的功能相當(dāng)強(qiáng)大,為你處理ZIP壓縮文件供應(yīng)很大的敏捷性。盼望上面的腳本樣本提起你的愛好,讓你開頭自己應(yīng)用這個類,更一步了解它的運(yùn)行機(jī)制。祝編程歡樂! 更多信息請查看IT技術(shù)專欄 .

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!