中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂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文件的解壓,一起和小編來(lái)看看吧!

        一、解壓rar文件。

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

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

        然后運(yùn)用java.lang.Process 的相關(guān)知識(shí)來(lái)運(yùn)行系統(tǒng)命令行來(lái)實(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("開(kāi)始解壓:" + 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開(kāi)發(fā)過(guò)程中的區(qū)別10-25

      在java中Synchronized的用法10-15

      Android XML文件中的08-31

      如何在word中畫圖10-13

      Java和PHP的區(qū)別08-21

      主站蜘蛛池模板: 晋城| 国产一级淫片a免费播放口| 高清一级淫片a级中文字幕| 女人被躁到高潮嗷嗷叫免费软| 瑞昌市| 国产成人永久在线播放| 亚洲欧美日韩精品久久亚洲区色播| 久久这里只有精品黄色| 萍乡市| 乌鲁木齐县| 国产视频嗯啊啊啊| 亚洲熟妇av不卡一区二区三区 | 国产情色一区二区三区| 华容县| 隆德县| 精品一区二区三区四区少妇| 成人黄网站免费永久在线观看| 在线观看国产三级av| 北岛玲精品一区二区三区| 宁城县| 襄汾县| 平谷区| 日本啪啪一区二区三区| 三门峡市| 大丰市| 报价| 国产成人精品亚洲日本在| 南京市| 极品诱惑一区二区三区| 梅河口市| 亚洲人成网站在线播放小说| 四子王旗| 久久国产亚洲一区二区三区| 日本一区二区三区中文字幕最新| 静海县| 亚洲区一区二区中文字幕 | 亚洲视频在线观看二区三区| 亚洲AV无码国产精品久久l| 成人精品免费av不卡在线观看| 老熟女熟妇嗷嗷叫91| 中文字幕丝袜人妻av|