<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 如何在java中解壓zip和rar文件

    時間:2024-11-02 07:01:54 SUN認(rèn)證 我要投稿
    • 相關(guān)推薦

    如何在java中解壓zip和rar文件

      為了方便廣大的程序員朋友,下面講一講如何在java中實現(xiàn)對zip和rar文件的解壓,一起和小編來看看吧!

      一、解壓rar文件。

      由于WinRAR 是共享軟件,并不是開源的,所以解壓rar文件的前提是系統(tǒng)已經(jīng)安裝了winrar,比如本人的安裝路徑是:

      C:\\Program Files\\WinRAR\\winrar.exe

      然后運用java.lang.Process 的相關(guān)知識來運行系統(tǒng)命令行來實現(xiàn)解壓的。

      winrar 命令行相關(guān)參數(shù)自己可以搜索下的網(wǎng)上資料很多

      具體代碼:

      Java代碼

      **

      * 解壓rar文件(需要系統(tǒng)安裝Winrar 軟件)

      * @author Michael sun

      */

      public class UnRarFile {

      /**

      * 解壓rar文件

      *

      * @param targetPath

      * @param absolutePath

      */

      public void unRarFile(String targetPath, String absolutePath) {

      try {

      // 系統(tǒng)安裝winrar的路徑

      String cmd = "C:\\Program Files\\WinRAR\\winrar.exe";

      String unrarCmd = cmd + " x -r -p- -o+ " + absolutePath + " "

      + targetPath;

      Runtime rt = Runtime.getRuntime();

      Process pre = rt.exec(unrarCmd);

      InputStreamReader isr = new InputStreamReader(pre.getInputStream());

      BufferedReader bf = new BufferedReader(isr);

      String line = null;

      while ((line = bf.readLine()) != null) {

      line = line.trim();

      if ("".equals(line)) {

      continue;

      }

      System.out.println(line);

      }

      bf.close();

      } catch (Exception e) {

      System.out.println("解壓發(fā)生異常");

      }

      }

      /**

      * @param args

      */

      public static void main(String[] args) {

      String targetPath = "D:\\test\\unrar\\";

      String rarFilePath = "D:\\test\\test.rar";

      UnRarFile unrar = new UnRarFile();

      unrar.unRarFile(targetPath, rarFilePath);

      }

      }

      二、解壓zip文件

      由于zip是免費的,所以在jdk里提供了相應(yīng)的類對zip文件的實現(xiàn):

      java.util.zip.*,詳細(xì)情況可以參考java API

      Java代碼

      /**

      * 解壓zip文件

      * @author Michael sun

      */

      public class UnzipFile {

      /**

      * 解壓zip文件

      *

      * @param targetPath

      * @param zipFilePath

      */

      public void unzipFile(String targetPath, String zipFilePath) {

      try {

      File zipFile = new File(zipFilePath);

      InputStream is = new FileInputStream(zipFile);

      ZipInputStream zis = new ZipInputStream(is);

      ZipEntry entry = null;

      System.out.println("開始解壓:" + zipFile.getName() + "...");

      while ((entry = zis.getNextEntry()) != null) {

      String zipPath = entry.getName();

      try {

      if (entry.isDirectory()) {

      File zipFolder = new File(targetPath + File.separator

      + zipPath);

      if (!zipFolder.exists()) {

      zipFolder.mkdirs();

      }

      } else {

      File file = new File(targetPath + File.separator

      + zipPath);

      if (!file.exists()) {

      File pathDir = file.getParentFile();

      pathDir.mkdirs();

      file.createNewFile();

      }

      FileOutputStream fos = new FileOutputStream(file);

      int bread;

      while ((bread = zis.read()) != -1) {

      fos.write(bread);

      }

      fos.close();

      }

      System.out.println("成功解壓:" + zipPath);

      } catch (Exception e) {

      System.out.println("解壓" + zipPath + "失敗");

      continue;

      }

      }

      zis.close();

      is.close();

      System.out.println("解壓結(jié)束");

      } catch (Exception e) {

      e.printStackTrace();

      }

      }

      /**

      * @param args

      */

      public static void main(String[] args) {

      String targetPath = "D:\\test\\unzip";

      String zipFile = "D:\\test\\test.zip";

      UnzipFile unzip = new UnzipFile();

      unzip.unzipFile(targetPath, zipFile);

      }

      }

    【如何在java中解壓zip和rar文件】相關(guān)文章:

    Java文件解壓縮示例08-21

    Java文件解壓縮實例詳解201607-26

    flash源文件中fla文件和swf文件有什么區(qū)別07-27

    關(guān)于Java中Queue和BlockingQueue的區(qū)別07-23

    如何在dos命令下執(zhí)行PHP文件09-18

    JAVA和.NET開發(fā)過程中的區(qū)別10-25

    在java中Synchronized的用法10-15

    Android XML文件中的08-31

    如何在word中畫圖10-13

    Java和PHP的區(qū)別08-21

    主站蜘蛛池模板: 国产午夜精品久久久久免费视| 久久精品蜜芽亚洲国产AV| 亚洲欧美日韩国产一区二区三区精品| 97久久精品无码一区二区 | 国产免费久久精品丫丫| 亚洲av永久无码精品国产精品| 国产精品免费久久| 精品国产麻豆免费人成网站| 日韩人妻无码精品一专区| 亚洲国产精品成人| 久草视频精品在线| 国产精品第1页| 中文字幕精品视频| 国产精品网站在线观看| 国内精品久久久人妻中文字幕| 亚洲欧美国产∧v精品综合网| 国产人成精品综合欧美成人| 桃花岛精品亚洲国产成人| 国产成人精品综合网站| 国产精品综合色区在线观看| 亚洲国产av无码精品| 久久精品无码一区二区三区免费| 国产成人99久久亚洲综合精品| 欧美黑人巨大精品| 久久这里只精品国产99热| 国产精品666| 国产高清在线精品二区一| 成人精品视频在线观看| 97久久国产亚洲精品超碰热| 狼色精品人妻在线视频| 亚洲av无码精品网站| 午夜不卡久久精品无码免费| 在线精品亚洲一区二区| 亚洲精品无码久久毛片| 亚洲国产午夜中文字幕精品黄网站| 久久久久99精品成人片牛牛影视 | 热综合一本伊人久久精品| 麻豆国产高清精品国在线| 牛牛在线精品观看免费正| 男人的天堂精品国产一区| 日本免费精品一区二区三区|