<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

    主站蜘蛛池模板: 国内精品久久久久影院优| 国产亚洲精品xxx| 精品久久久久久成人AV| 国产精品∧v在线观看| 国产成人无码精品一区二区三区| 久久国产精品国语对白| 久久国产精品99精品国产987| 老司机性色福利精品视频| 久久久久人妻一区精品果冻| 国产精品一二三区| 国产精品一区二区久久不卡| 亚洲欧美日韩国产一区二区三区精品 | 久久国产精品-国产精品| 国产成人精品久久亚洲高清不卡| 99精品国产一区二区三区2021 | 蜜臀AV无码国产精品色午夜麻豆| 欧美777精品久久久久网| 精品一区二区三区在线观看视频| 亚洲精品国产高清不卡在线| 久久久久人妻一区精品| 国产精品一区12p| 国产精品成人观看视频| 亚洲精品人成在线观看| 久久亚洲精品中文字幕三区| 国产精品久久国产精麻豆99网站| 国产精品186在线观看在线播放| 少妇伦子伦精品无码STYLES | 2021最新国产精品网站| 精品国精品无码自拍自在线| 欧洲精品色在线观看| 亚洲AV日韩精品久久久久久 | 一本一道久久精品综合| 日本欧美韩国日本精品| 国内精品一级毛片免费看| 国产第一福利精品导航| 国产精品视频免费观看| 精品999在线| 青青草精品视频| 伊人久久大香线蕉精品| 999国产精品色在线播放| 国产乱子伦精品免费视频|