滿店香的家

          學習+實踐=進步

          使用commons-compress包對tar.gz文件進行解壓處理

              想使用commons-compress-1.4.1.jar對tar.gz文件進行處理,上網(wǎng)找半天,別人寫的都很費勁,看了看樣例,自己寫了一個方法。
           /**
            * 解壓tar.gz文件
            * tar文件只是把多個文件或文件夾打包合成一個文件,本身并沒有進行壓縮。gz是進行過壓縮的文件。
            * @param dir
            * @param filepath
            * @throws Exception
            */
           public static void deGzipArchive(String dir, String filepath)
             throws Exception {
            final File input = new File(filepath);
            final InputStream is = new FileInputStream(input);
            final CompressorInputStream in = new GzipCompressorInputStream(is, true);
            TarArchiveInputStream tin = new TarArchiveInputStream(in);
            TarArchiveEntry entry = tin.getNextTarEntry();
            while (entry != null) {
             File archiveEntry = new File(dir, entry.getName());
             archiveEntry.getParentFile().mkdirs();
             if (entry.isDirectory()) {
              archiveEntry.mkdir();
              entry = tin.getNextTarEntry();
              continue;
             }
             OutputStream out = new FileOutputStream(archiveEntry);
             IOUtils.copy(tin, out);
             out.close();
             entry = tin.getNextTarEntry();
            }
            in.close();
            tin.close();
           }

          遺留問題:

           tar解壓tar.gz文件時,中文文件夾有亂碼
           研究發(fā)現(xiàn)commpress包解壓時,TarArchiveInputStream類對中文未做處理,進一步跟蹤,第一層是

          utf8,正確,往下取,需要包括子文件夾,子文件,涉及到"/"等符號的切割,這個地方未考慮中文
          據(jù)說ant沒問題

          posted on 2012-06-15 12:12 滿店香 閱讀(6832) 評論(1)  編輯  收藏

          Feedback

          # re: 使用commons-compress包對tar.gz文件進行解壓處理 2012-06-15 12:16 ppt模板下載

          可以去加壓后再看看的  回復  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 绥滨县| 麻城市| 农安县| 涞源县| 襄汾县| 梁平县| 休宁县| 乌兰县| 定远县| 台东市| 襄汾县| 柘荣县| 昌吉市| 登封市| 连城县| 台东市| 满洲里市| 繁昌县| 古丈县| 剑阁县| 兴宁市| 即墨市| 朝阳县| 大宁县| 布尔津县| 丰顺县| 石楼县| 三江| 丹江口市| 文安县| 定结县| 吕梁市| 登封市| 巴林左旗| 龙门县| 营山县| 九龙县| 吉木萨尔县| 皋兰县| 莫力| 出国|