<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認證 我要投稿
    • 相關推薦

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

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

      一、解壓rar文件。

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

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

      然后運用java.lang.Process 的相關知識來運行系統命令行來實現解壓的。

      winrar 命令行相關參數自己可以搜索下的網上資料很多

      具體代碼:

      Java代碼

      **

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

      * @author Michael sun

      */

      public class UnRarFile {

      /**

      * 解壓rar文件

      *

      * @param targetPath

      * @param absolutePath

      */

      public void unRarFile(String targetPath, String absolutePath) {

      try {

      // 系統安裝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("解壓發生異常");

      }

      }

      /**

      * @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里提供了相應的類對zip文件的實現:

      java.util.zip.*,詳細情況可以參考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("解壓結束");

      } 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文件】相關文章:

    Java文件解壓縮示例08-21

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

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

    關于Java中Queue和BlockingQueue的區別07-23

    如何在dos命令下執行PHP文件09-18

    JAVA和.NET開發過程中的區別10-25

    在java中Synchronized的用法10-15

    Android XML文件中的08-31

    如何在word中畫圖10-13

    Java和PHP的區別08-21

    主站蜘蛛池模板: 精品无码综合一区| 亚洲精品国产va在线观看蜜芽| 国产在线精品一区二区三区不卡 | 国产亚洲精品a在线无码| 欧美日韩国产精品自在自线| 亚洲精品天天影视综合网| 国产精品vⅰdeoxxxx国产| 亚洲中文字幕无码久久精品1| 国产一区二区三精品久久久无广告 | 亚洲国产精品成人AV无码久久综合影院| 久久精品国产99国产精品澳门| 精品无码日韩一区二区三区不卡| 亚洲av午夜国产精品无码中文字 | 久久久精品午夜免费不卡| 国产精品国产三级国产AV主播| 亚洲精品你懂的在线观看| 欧美日韩精品久久久免费观看| 国产精品成人免费观看| 99精品视频在线观看婷| 日韩精品在线观看视频| 久久亚洲国产午夜精品理论片 | 国产精品三级国产电影| 无码精品人妻一区二区三区免费看| 香蕉国产精品麻豆亚洲欧美日韩精品自拍欧美v国 | 久久久久久国产精品无码下载| 国内精品视频九九九九| 精品亚洲一区二区三区在线播放| 99久久人人爽亚洲精品美女| 亚洲精品自产拍在线观看动漫| 2021国产三级精品三级在专区| 日本一区二区三区精品中文字幕| 欧美日韩在线亚洲国产精品| 无码精品一区二区三区免费视频| 在线精品视频播放| 国产精品麻豆入口| 国产中文在线亚洲精品官网| 久久国产香蕉一区精品| 色偷偷88欧美精品久久久| 亚洲欧洲国产精品香蕉网| 日韩精品无码熟人妻视频| 国产亚洲精品a在线无码|