<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看