2012-10-13 36 views
0

我有以下文件結構:解壓在不同的文件夾中的多個gzip格式遞歸在Java中

D:\Files\File1\file.gz, file2.gz, file3.gz 
D:\Files\File2\file.gz, file2.gz, file3.gz 
etc.. 

我想提供的Java程序只D:\Files,它應該遞歸打開每個目錄,並解壓縮每個文件.gz和file2.gz(它們都具有相同的名稱,因此我可以要求它查找與該名稱匹配的所有文件)到同一個文件夾中。

我已經嘗試了不同的代碼來獲取每個文件提取,但似乎沒有任何工作。發生在我身上的另一個有趣的事情是,我似乎無法解鎖目錄上的只讀權限。我取消選中它,轉到安全選項卡並給予我自己的管理員權限,但是,下一秒,它回到只讀狀態。這是關閉的話題,但我必須把它放在那裏。請幫助我一個人!謝謝!

回答

1

使用org.apache.commons.io.FileUtils.iterateFiles使用文件過濾器來指定您只需要zip文件。

對於解壓使用GZIPInputStream。

+0

謝謝!我會查找並嘗試它。你知道我在哪裏可以找到一些示例代碼嗎? – CodingInCircles

+0

GZip的例子 - http://www.mkyong.com/java/how-to-decompress-file-from-gzip-file/ - iterateFiles將簡單地給你一個迭代器,所以只要看看javadocs – codeghost

+0

會做!謝謝! :) – CodingInCircles

相關問題