最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何使用zip壓縮實(shí)現(xiàn)讀取寫入

 更新時間:2023年11月06日 10:51:12   作者:bug生產(chǎn)者  
這篇文章主要為大家介紹了java如何使用zip壓縮實(shí)現(xiàn)讀取寫入示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

zip壓縮

zip文檔可以以壓縮格式存儲一個或多個文件,可以使用ZipInputStream讀取Zip文檔,使用ZipOutputStream來寫入到Zip文件中

ZipInputStream讀取

ZipInputStream zin = new ZipInputStream(in);
ZipEntry ze;
// getNextEntry返回描述這個項(xiàng)的ZipEntry的對象
while ((ze = zin.getNextEntry()) != null) {
    // getInputStream獲取用于讀取該項(xiàng)的輸入流
        BufferedReader br = new BufferedReader(
                new InputStreamReader(zf.getInputStream(ze), charset));
  // 業(yè)務(wù)邏輯 todo
        br.close();
  // closeEntry關(guān)閉當(dāng)前打開的項(xiàng)
    zin.closeEntry();
}
zin.close();

ZipOutputStream寫入

ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile));
File fileWillZip = new File(dir);
if (fileWillZip.exists()) {
    // 需要壓縮的文件是文件夾。需要遞歸進(jìn)行壓縮
    if(fileWillZip.isDirectory()){
        compressZip(zipOut,fileWillZip,fileWillZip.getName());
    } else { // 是文件,直接壓縮
        zip(zipOut,fileWillZip,dir);
    }
}
zipOut.closeEntry();
zipOut.close();
private void compressZip(ZipOutputStream zipOutput, File file, String suffixpath) {
        File[] listFiles = file.listFiles();// 列出所有的文件
        for(File fi : listFiles){
            if(fi.isDirectory()){ // 如果是文件夾,繼續(xù)遞歸
                if(suffixpath.equals("")){
                    compressZip(zipOutput, fi, fi.getName());
                }else{
                    compressZip(zipOutput, fi, suffixpath + File.separator + fi.getName());
                }
            }else{
                zip(zipOutput, fi, suffixpath);
            }
        }
    }
    public void zip(ZipOutputStream zipOutput, File file, String suffixpath) {
        try {
          // 創(chuàng)建ZipEntry對象
            ZipEntry zEntry = null;
            if(suffixpath.equals("")){
                zEntry = new ZipEntry(file.getName());
            }else{
                zEntry = new ZipEntry(suffixpath + File.separator + file.getName());
            }
          // putNextEntry將給定的ZipEntry中的信息寫出到輸出流,并定位用于寫出數(shù)據(jù)的流,然后這些數(shù)據(jù)可以通過write方法寫出到這個輸出流中
            zipOutput.putNextEntry(zEntry);
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
            byte[] buffer = new byte[1024];
            int read = 0;
            while((read = bis.read(buffer)) != -1){
                zipOutput.write(buffer, 0, read);
            }
            bis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

以上就是java如何使用zip壓縮實(shí)現(xiàn)讀取寫入的詳細(xì)內(nèi)容,更多關(guān)于java zip壓縮讀取寫入的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JetBrains?產(chǎn)品輸入激活碼?Key?is?invalid?完美解決方案

    JetBrains?產(chǎn)品輸入激活碼?Key?is?invalid?完美解決方案

    JetBrains?系列產(chǎn)品(IDEA、Pycharm?等)使用本站破解教程?(opens?new?window),在輸入激活碼時,部分小伙伴反應(yīng)說提示?Key?is?invalid?無法激活,今天小編給大家分享完美解決方案,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • SpringBoot設(shè)置接口超時的方法小結(jié)

    SpringBoot設(shè)置接口超時的方法小結(jié)

    這篇文章主要介紹了SpringBoot設(shè)置接口超時的方法小結(jié),包括配置文件,config配置類及相關(guān)示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 如何使用Comparator比較接口實(shí)現(xiàn)ArrayList集合排序

    如何使用Comparator比較接口實(shí)現(xiàn)ArrayList集合排序

    這篇文章主要介紹了如何使用Comparator比較接口實(shí)現(xiàn)ArrayList集合排序問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 使用mybatis格式化查詢出的日期

    使用mybatis格式化查詢出的日期

    這篇文章主要介紹了使用mybatis格式化查詢出的日期,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 解決Jackson解析嵌套類問題(MismatchedInputException)

    解決Jackson解析嵌套類問題(MismatchedInputException)

    這篇文章主要介紹了解決Jackson解析嵌套類問題(MismatchedInputException),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java中幾個常用類方法匯總(附詳細(xì)代碼)

    Java中幾個常用類方法匯總(附詳細(xì)代碼)

    這篇文章主要介紹了Java中幾個常用類方法的相關(guān)資料,文中通過示例講解了靜態(tài)與對象操作、工具類特征、多線程隨機(jī)數(shù)生成及數(shù)值計(jì)算技巧,需要的朋友可以參考下
    2025-08-08
  • 老生常談Java字符串進(jìn)階(必看篇)

    老生常談Java字符串進(jìn)階(必看篇)

    下面小編就為大家?guī)硪黄仙U凧ava字符串進(jìn)階(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java中throws?與?throw?的區(qū)別與用法示例詳解

    Java中throws?與?throw?的區(qū)別與用法示例詳解

    本文給大家介紹Java中throws與throw的區(qū)別與用法示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-09-09
  • SpringAop攔截參數(shù)帶注解的方法

    SpringAop攔截參數(shù)帶注解的方法

    這篇文章主要介紹了SpringAop攔截參數(shù)帶注解的方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12
  • Java實(shí)現(xiàn)替換Word中文本和圖片功能

    Java實(shí)現(xiàn)替換Word中文本和圖片功能

    Word中的替換功能以查找指定文本然后替換為新的文本,可單個替換或全部替換。本文將用Java語言實(shí)現(xiàn)Word中的文本、圖片替換功能,需要的可以參考一下
    2022-06-06

最新評論

遂川县| 德惠市| 秭归县| 连平县| 巨野县| 二手房| 神农架林区| 娱乐| 洪洞县| 金平| 西华县| 和林格尔县| 连山| 大渡口区| 东海县| 慈利县| 兴仁县| 定边县| 讷河市| 马鞍山市| 罗江县| 北流市| 芦山县| 黔西县| 彭山县| 桃园县| 溧阳市| 巴楚县| 英吉沙县| 子洲县| 余江县| 神池县| 保山市| 县级市| 德格县| 攀枝花市| 商丘市| 城市| 色达县| 南投县| 正镶白旗|