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文件

        時間:2020-10-04 14:14:50 SUN認(rè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.*,詳細情況可以參考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的壓縮與解壓縮ZIP10-07

        Java文件解壓縮示例05-12

        Java文件解壓縮實例詳解201605-15

        JAVA認(rèn)證基礎(chǔ)知識:Java文件解壓縮示例11-18

        如何在ppt中播放flash文件08-30

        如何在word中制作標(biāo)準(zhǔn)公文文件頭10-11

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

        Java里處理文件的技巧05-08

        Java讀取xml文件的方法11-05

        国产高潮无套免费视频_久久九九兔免费精品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>