1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 如何在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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>