中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

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

      時(shí)間:2024-11-02 07:01:54 SUN認(rèn)證 我要投稿
      • 相關(guān)推薦

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

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

        一、解壓rar文件。

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

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

        然后運(yùn)用java.lang.Process 的相關(guān)知識(shí)來運(yùn)行系統(tǒng)命令行來實(shí)現(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是免費(fèi)的,所以在jdk里提供了相應(yīng)的類對(duì)zip文件的實(shí)現(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文件解壓縮實(shí)例詳解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

      主站蜘蛛池模板: 亚洲一区二区在线观看网站| 亚洲一区二区三区精品在线看| 国产精品无码久久AⅤ人妖| 天堂69亚洲精品中文字幕| 99国产精品无码专区| 中宁县| 欧美精品久久久久久三级| 国产精品自拍激情在线观看| A亚洲VA欧美VA国产综合| 九九在线精品视频xxx| 尤溪县| 阳山县| 成人影院免费观看在线播放视频 | 91免费国产高清在线| 国产亚洲av天天在线观看| 江阴市| 江川县| 龙胜| 武冈市| 田阳县| 诸城市| 五月激情狠狠开心五月| 嘉荫县| 亚洲情精品中文字幕有码在线 | 国产三级黄色片子看曰逼大片| 亚洲日本无码一区二区在线观看| 自慰高潮网站在线观看| 亚洲秘av一区二区三区| 亚洲精品久久久蜜桃一区二区| 亚洲成人av一区二区麻豆蜜桃| 久久国产亚洲一区二区三区| 文水县| 一区二区三区婷婷在线| 亚洲综合精品在线观看中文字幕| 四子王旗| 在线一区二区三区观看视频| av狼人婷婷久久亚洲综合| 亚洲国产精品综合福利专区| 日韩在线精品视频观看| 国产 在线播放无码不卡| 国产在线拍偷自拍偷精品|