91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java解壓zip文件至指定文件夾

發布時間:2020-10-21 20:26:12 來源:網絡 閱讀:7952 作者:Red_Ant_hoyl 欄目:開發技術

前面,筆者講到。如何把文件打包為zip包,那么反過來怎么把zip文件包解壓為正常文件呢?把zip包解壓為正常文件包,要比把文件打包為zip簡單一點。因為存在多級文件的壓縮,卻不存在多級文件的解壓縮。也就是說,壓縮時,你要把所有文件都塞到壓縮包里。而解壓縮只需要解壓一級,壓縮包里面的壓縮文件則不必理會。
直接上代碼嘍:

    /**
     * 解壓文件
     * @param zipPath 要解壓的目標文件
     * @param descDir 指定解壓目錄
     * @return 解壓結果:成功,失敗
     */
    @SuppressWarnings("rawtypes")
    public boolean decompressZip(String zipPath, String descDir) {
        File zipFile = new File(zipPath);
        boolean flag = false;
        File pathFile = new File(descDir);
        if(!pathFile.exists()){
            pathFile.mkdirs();
        }
        ZipFile zip = null;
        try {
            zip = new ZipFile(zipFile, Charset.forName("gbk"));//防止中文目錄,亂碼
            for(Enumeration entries = zip.entries(); entries.hasMoreElements();){
                ZipEntry entry = (ZipEntry)entries.nextElement();
                String zipEntryName = entry.getName();
                InputStream in = zip.getInputStream(entry);
                //指定解壓后的文件夾+當前zip文件的名稱
                String outPath = (descDir+zipEntryName).replace("/", File.separator);
                //判斷路徑是否存在,不存在則創建文件路徑
                File file = new File(outPath.substring(0, outPath.lastIndexOf(File.separator)));
                if(!file.exists()){
                    file.mkdirs();
                }
                //判斷文件全路徑是否為文件夾,如果是上面已經上傳,不需要解壓
                if(new File(outPath).isDirectory()){
                    continue;
                }
                //保存文件路徑信息(可利用md5.zip名稱的唯一性,來判斷是否已經解壓)
                System.err.println("當前zip解壓之后的路徑為:" + outPath);
                OutputStream out = new FileOutputStream(outPath);
                byte[] buf1 = new byte[2048];
                int len;
                while((len=in.read(buf1))>0){
                    out.write(buf1,0,len);
                }
                in.close();
                out.close();
            }
            flag = true;
            //必須關閉,要不然這個zip文件一直被占用著,要刪刪不掉,改名也不可以,移動也不行,整多了,系統還崩了。
            zip.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return flag;
    }

找個例子實現一下:
就你了!
java解壓zip文件至指定文件夾

調用:

                String deal_zip = "C:\\20180909.zip";
                String agter_zip = "D:\\red_ant_file";//解壓完塞到這里吧
                boolean is_success = AllServiceIsHere.decompressZip(deal_zip, agter_zip);
                if(is_success) {
                    System.err.println("恭喜你,解壓成功!");
                }else {
                    System.err.println("sorry, you failed!");
                }

走你!

java解壓zip文件至指定文件夾

嗯嗯,達到了我所要求的。趕集去嘍!
java解壓zip文件至指定文件夾
java解壓zip文件至指定文件夾

java解壓zip文件至指定文件夾

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沅陵县| 嘉兴市| 无极县| 麻栗坡县| 英超| 东兴市| 乌拉特后旗| 博客| 南阳市| 浑源县| 丹江口市| 固原市| 新龙县| 高雄市| 德化县| 和平县| 奇台县| 二连浩特市| 涟水县| 嘉祥县| 乐山市| 绥德县| 武隆县| 澳门| 玛纳斯县| 望江县| 香河县| 奈曼旗| 石棉县| 全椒县| 苏尼特右旗| 金湖县| 峨边| 梧州市| 安义县| 呼伦贝尔市| 金平| 邵武市| 德格县| 娄烦县| 如东县|