專利名稱:壓縮包解壓方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù),特別涉及一種壓縮包解壓方法及系統(tǒng)。
背景技術(shù):
縱觀互聯(lián)網(wǎng)大大小小的資源站,如電驢、華軍、天空等,我們可以看到共享資源大部分都是被壓縮過的。原因是,壓縮包可將文本、聲音、圖像等資源執(zhí)行優(yōu)化,使它們的體積大幅度減小,并利于網(wǎng)絡(luò)傳播。據(jù)調(diào)查顯示大型共享資源站每日壓縮包下載量均達(dá)500萬次以上,比如迅雷日均下載量1500萬以上,emule日均下載量700萬以上,flashget日均下載量500萬以上。用戶日常使用的壓縮包可以包含任何格式的文件,如音頻格式類文件、視頻格式類文件、文檔格式類文件等,對(duì)于不同類型或不同用途的文件,又會(huì)通過文件夾進(jìn)行歸類。 總之,無論文件與文件夾的如何組合,壓縮包的第一層目錄結(jié)構(gòu)只可出現(xiàn)以下兩種情況(I)單文件或單文件夾結(jié)構(gòu)壓縮包,其特點(diǎn)是,壓縮包在打包前只是一個(gè)單獨(dú)的文件或文件夾;(2)多文件/文件夾結(jié)構(gòu)壓縮包,其特點(diǎn)是,壓縮包在打包前是二個(gè)或以上文件和/或文件夾;現(xiàn)有的壓縮包解壓系統(tǒng),其解壓方式通常是,根據(jù)用戶選擇的解壓方式,將壓縮包直接解壓到當(dāng)前文件夾,或者將壓縮包解壓到“文件夾\”。解壓到當(dāng)前文件夾,即直接把壓縮包解壓到當(dāng)前所在目錄,適合于壓縮包第一層目錄是單文件或單文件夾的壓縮包。解壓到“文件夾\”,即先在當(dāng)前所在目錄創(chuàng)建一個(gè)新的文件夾,再將壓縮包解壓到該新文件夾,適合于壓縮包第一層目錄是多文件/多文件夾的壓縮包。但如果用戶不清楚壓縮包內(nèi)第一層目錄結(jié)構(gòu)且選擇了不合適的解壓方式,往往會(huì)造成不必要的麻煩。如果是單文件或單文件夾壓縮包選擇了解壓到“文件夾\”,則會(huì)為解壓后的文件多余嵌套一層目錄結(jié)構(gòu),增加用戶鼠標(biāo)點(diǎn)擊操作;如果是多文件/多文件夾壓縮包選擇了解壓到當(dāng)前文件夾,則解壓后的文件會(huì)與當(dāng)前目錄原有的文件混雜在一起,不利于區(qū)分。為避免上述選擇解壓方式不當(dāng)?shù)膯栴},用戶在采用現(xiàn)有的壓縮包解壓系統(tǒng)解壓壓縮包時(shí),需要先在瀏覽模式下查看壓縮包的目錄結(jié)構(gòu),然后選擇以何種方式解壓,用戶需要進(jìn)行兩步操作,比較繁瑣。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是,對(duì)壓縮包解壓簡(jiǎn)便,且解壓后的文件不會(huì)與當(dāng)前目錄原有的文件混雜在一起,解壓后的文件無冗余文件夾。為解決上述技術(shù)問題,本發(fā)明提供了一種壓縮包解壓方法,首先遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù);如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;所述元素為文件或文件夾。如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下的元素直接解壓到目標(biāo)文件夾。所述目標(biāo)文件夾可以為壓縮包當(dāng)前所在的文件夾。所述目標(biāo)文件夾可以為用戶在對(duì)壓縮包解壓前選定的文件夾。為解決上述技術(shù)問題,本發(fā)明還提供了一種壓縮包解壓系統(tǒng),包括壓縮包遍歷模塊、壓縮包解壓模塊;所述壓縮包遍歷模塊,用于遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù);·
所述壓縮包解壓模塊,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;所述元素為文件或文件夾。所述壓縮包解壓模塊,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下的元素直接解壓到目標(biāo)文件夾。所述目標(biāo)文件夾可以為壓縮包當(dāng)前所在的文件夾。 所述目標(biāo)文件夾可以為用戶在對(duì)壓縮包解壓前選定的文件夾。本發(fā)明的壓縮包解壓方法及系統(tǒng),遍歷壓縮包內(nèi)第一層目錄,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)大于等于二個(gè),則在目標(biāo)文件夾下先新建一個(gè)文件夾,然后把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;如果壓縮包內(nèi)第一層目錄下僅有一個(gè)元素,則把該元素直接解壓到目標(biāo)文件夾。本發(fā)明針對(duì)壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù),自動(dòng)選擇最合適的解壓方式,實(shí)現(xiàn)解壓過程的自動(dòng)化,減少了解壓過程中用戶的鼠標(biāo)操作,并能避免解壓方式選擇不當(dāng)導(dǎo)致解壓后的文件多余嵌套一層目錄結(jié)構(gòu),或?qū)е陆鈮汉蟮奈募c解壓路徑下原有的文件混雜。
下面結(jié)合附圖及具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。圖I是本發(fā)明的壓縮包解壓方法一實(shí)施方式流程圖;圖2是壓縮包為單文件或單文件夾結(jié)構(gòu)的解壓結(jié)果示意圖;圖3是壓縮包為壓縮包是多文件/文件夾結(jié)構(gòu)的解壓結(jié)果示意圖。
具體實(shí)施例方式本發(fā)明的壓縮包解壓方法一實(shí)施方式如圖I所示,首先遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù);如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下的元素直接解壓到目標(biāo)文件夾。所述元素可以文件或文件夾;
所述目標(biāo)文件夾可以為壓縮包當(dāng)前所在的文件夾或用戶在對(duì)壓縮包解壓前選定的文件夾。實(shí)現(xiàn)本發(fā)明的方法的壓縮包解壓系統(tǒng),包括壓縮包遍歷模塊、壓縮包解壓模塊;
所述壓縮包遍歷模塊,用于遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù);所述壓縮包解壓模塊,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下元素直接解壓到目標(biāo)文件夾。本發(fā)明的壓縮包解壓方法及系統(tǒng),遍歷壓縮包內(nèi)第一層目錄,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)大于等于二個(gè),則在目標(biāo)文件夾下先新建一個(gè)文件夾,然后把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;如果壓縮包內(nèi)第一層目錄下僅有一個(gè)元素,則把該元素直接解壓到目標(biāo)文件夾。本發(fā)明針對(duì)壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù),自動(dòng)選擇最合適的解壓方式,實(shí)現(xiàn)解壓過程的自動(dòng)化,減少了解壓過程中用戶的鼠標(biāo)操作,并能避免解壓方式選擇不當(dāng)導(dǎo)致解壓后的文件多余嵌套一層目錄結(jié)構(gòu),或?qū)е陆鈮汉蟮奈募c解壓路徑下原有的文件混雜。采用現(xiàn)有的壓縮包解壓系統(tǒng)對(duì)壓縮包解壓,與采用本發(fā)明的壓縮包解壓方法及系統(tǒng)對(duì)壓縮包解壓,針對(duì)不同的壓縮包結(jié)構(gòu),其解壓結(jié)果分別如圖2、圖3所示。圖2所示為壓縮包是單文件或單文件夾結(jié)構(gòu)。由圖2可見,現(xiàn)有的壓縮包解壓系統(tǒng)的“解壓到當(dāng)前文件夾”和本發(fā)明都是直接將文件或文件夾解壓到壓縮包當(dāng)前所在目錄;而現(xiàn)有的壓縮包解壓系統(tǒng)的“解壓到‘文件夾\’”會(huì)新建一層文件夾,這層目錄顯然是多余的,會(huì)增加用戶鼠標(biāo)操作次數(shù)。圖3所示為壓縮包是多文件/文件夾結(jié)構(gòu)。由圖3可見,現(xiàn)有的壓縮包解壓系統(tǒng)的“解壓到當(dāng)前文件夾”的處理方式是直接解壓所有文件和文件夾,解壓出的文件/文件夾容易和解壓路徑下本來存在的文件/文件夾造成混淆,現(xiàn)有的壓縮包解壓系統(tǒng)的“解壓到‘文件夾\’ ”和本發(fā)明都是先新建一個(gè)文件夾,然后再將壓縮包所有文件/文件夾解壓到該新建的文件夾,解壓出的文件/文件夾都集中到了該新建的文件夾中,很容易與解壓路徑下的本來存在的文件/文件夾區(qū)分。
權(quán)利要求
1.一種壓縮包解壓方法,其特征在于,首先遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù);如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;所述元素為文件或文件夾。
2.根據(jù)權(quán)利要求I所述的壓縮包解壓方法,其特征在于,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下的元素直接解壓到目標(biāo)文件夾。
3.根據(jù)權(quán)利要求I或2所述的壓縮包解壓方法,其特征在于,所述目標(biāo)文件夾為壓縮包當(dāng)前所在的文件夾。
4.根據(jù)權(quán)利要求I或2所述的壓縮包解壓方法,其特征在于,所述目標(biāo)文件夾為用戶在對(duì)壓縮包解壓前選定的文件夾。
5.一種壓縮包解壓系統(tǒng),其特征在于,包括壓縮包遍歷模塊、壓縮包解壓模塊; 所述壓縮包遍歷模塊,用于遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù); 所述壓縮包解壓模塊,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;所述元素為文件或文件夾。
6.根據(jù)權(quán)利要求5所述的壓縮包解壓系統(tǒng),其特征在于, 所述壓縮包解壓模塊,如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下的元素直接解壓到目標(biāo)文件夾。
7.根據(jù)權(quán)利要求5或6所述的壓縮包解壓系統(tǒng),其特征在于,所述目標(biāo)文件夾為壓縮包當(dāng)前所在的文件夾。
8.根據(jù)權(quán)利要求5或6所述的壓縮包解壓系統(tǒng),其特征在于,所述目標(biāo)文件夾為用戶在對(duì)壓縮包解壓前選定的文件夾。
全文摘要
本發(fā)明公開了一種壓縮包解壓方法,首先遍歷壓縮包內(nèi)第一層目錄,獲得壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù);如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為二個(gè)以上,則在目標(biāo)文件夾下先新建一個(gè)文件夾,再把壓縮包內(nèi)第一層目錄下的所有元素解壓到這個(gè)新建的文件夾;如果壓縮包內(nèi)第一層目錄下的元素個(gè)數(shù)為一個(gè),則把壓縮包內(nèi)第一層目錄下的元素直接解壓到目標(biāo)文件夾所述元素為文件或文件夾。本發(fā)明還公開了一種壓縮包解壓系統(tǒng)。本發(fā)明對(duì)壓縮包解壓簡(jiǎn)便,且解壓后的文件不會(huì)與當(dāng)前目錄原有的文件混雜在一起。
文檔編號(hào)G06F17/30GK102915302SQ20111021876
公開日2013年2月6日 申請(qǐng)日期2011年8月2日 優(yōu)先權(quán)日2011年8月2日
發(fā)明者劉濤濤 申請(qǐng)人:盛大計(jì)算機(jī)(上海)有限公司