国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

zip解壓和壓縮

這篇具有很好參考價(jià)值的文章主要介紹了zip解壓和壓縮。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

zip解壓和壓縮

引言

  • 介紹zip文件的概念

  • 涉及到的Java類和包:java.util.zip

  • https://blog.csdn.net/u012998680/article/details/126060855

壓縮文件

  • 準(zhǔn)備壓縮的源文件和目標(biāo)zip文件的路徑

  • 創(chuàng)建FileOutputStreamZipOutputStream對(duì)象

  • 創(chuàng)建源文件的FileFileInputStream對(duì)象

  • 創(chuàng)建ZipEntry對(duì)象,并設(shè)置其名稱為源文件的名稱

  • 使用ZipOutputStreamputNextEntry方法將ZipEntry對(duì)象添加到壓縮文件中

  • 使用循環(huán)讀取源文件的內(nèi)容,并使用ZipOutputStreamwrite方法將內(nèi)容寫入壓縮文件中

  • 關(guān)閉流對(duì)象

解壓縮文件

  • 準(zhǔn)備解壓縮的zip文件路徑和目標(biāo)目錄路徑

  • 創(chuàng)建目標(biāo)目錄的File對(duì)象,如果目錄不存在則創(chuàng)建目錄

  • 創(chuàng)建ZipInputStream對(duì)象,使用FileInputStream和zip文件路徑作為參數(shù)

  • 使用ZipInputStreamgetNextEntry方法獲取zip文件的每個(gè)條目ZipEntry

  • 循環(huán)處理每個(gè)zip條目,獲取條目的名稱和文件內(nèi)容,并將內(nèi)容寫入目標(biāo)目錄

  • 關(guān)閉流對(duì)象

  1. 示例代碼

    創(chuàng)建zip工具類:文章來源地址http://www.zghlxwxcb.cn/news/detail-511002.html

    import org.springframework.mock.web.MockMultipartFile;
    import org.springframework.web.multipart.MultipartFile;
    ?
    import java.io.*;
    import java.nio.charset.Charset;
    import java.util.*;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    ?
    ?
    public class ZipUtil {
    ? ?// 解壓并返回的key是全路徑
    ? ?public static Map<String, List<MultipartFile>> unzipAndConvertToMap(File file) throws IOException {
    ? ? ? ?Map<String, List<MultipartFile>> map = new HashMap<>(); // 存放解壓后的圖片
    ? ? ? ?byte[] buffer = new byte[1024];
    ? ? ? ?ZipInputStream zis = new ZipInputStream(new FileInputStream(file),Charset.forName("GBK"));
    ? ? ? ?try {
    ? ? ? ? ? ?ZipEntry entry;
    ? ? ? ? ? ?while ((entry = zis.getNextEntry()) != null) {
    ?
    ? ? ? ? ? ? ? ?if (!entry.isDirectory() && isImage(entry.getName())) { // 判斷當(dāng)前解壓的是否是圖片
    ? ? ? ? ? ? ? ? ? ?// 獲取到全路徑名稱
    ? ? ? ? ? ? ? ? ? ?String allFileName = entry.getName();
    ? ? ? ? ? ? ? ? ? ?String[] split = allFileName.split("/");
    ? ? ? ? ? ? ? ? ? ?// // 圖片名稱
    ? ? ? ? ? ? ? ? ? ?// String imageName = split[split.length - 1];
    ? ? ? ? ? ? ? ? ? ?// // 第一層文件夾名稱
    ? ? ? ? ? ? ? ? ? ?// String firstFile = split[0];
    ? ? ? ? ? ? ? ? ? ?StringBuffer sb = new StringBuffer();
    ? ? ? ? ? ? ? ? ? ?for (int i = 1; i < split.length-1; i++) {
    ? ? ? ? ? ? ? ? ? ? ? ?sb.append(split[i]).append("/");
    ? ? ? ? ? ? ? ? ? }
    ? ? ? ? ? ? ? ? ? ?String folderName = sb.toString();
    ? ? ? ? ? ? ? ? ? ?List<MultipartFile> imgList = map.getOrDefault(folderName, new ArrayList<>());
    ? ? ? ? ? ? ? ? ? ?ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ? ? ? ? ? ? ? ? ? ?int len;
    ? ? ? ? ? ? ? ? ? ?while ((len = zis.read(buffer)) > 0) {
    ? ? ? ? ? ? ? ? ? ? ? ?baos.write(buffer, 0, len);
    ? ? ? ? ? ? ? ? ? }
    ? ? ? ? ? ? ? ? ? ?MultipartFile multipartFile = new MockMultipartFile(entry.getName(), entry.getName(), "", baos.toByteArray());
    ? ? ? ? ? ? ? ? ? ?imgList.add(multipartFile);
    ? ? ? ? ? ? ? ? ? ?map.put(folderName,

到了這里,關(guān)于zip解壓和壓縮的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序下載zip壓縮包后解壓,并且打開文件查看的內(nèi)容

    微信小程序下載zip壓縮包后解壓,并且打開文件查看的內(nèi)容

    ? ? ? ? 在開發(fā)pc端后臺(tái)管理系統(tǒng)的時(shí)候,經(jīng)常會(huì)遇到這樣的需求:下載zip到本地,然后用戶雙擊壓縮包,并借助電腦端的壓縮軟件打開壓縮包,就可以查看里面的word、excel、pdf文件里面的內(nèi)容。(這種需求,毫無疑問,對(duì)于我們前端開發(fā)工程師來說,已經(jīng)是習(xí)以為常了)。

    2024年02月08日
    瀏覽(45)
  • Linux(Centos7)基本操作(1):文件壓縮和解壓(tar、zip)

    安裝命令 yum install -y unzip zip 壓縮文件: 基本格式: zip [參數(shù)] [壓縮后的文件名] [打包的目錄路徑] 壓縮文件:xxx是當(dāng)前路徑中需要壓縮的文件夾: zip -r xxx.zip xxx/ ; 比如需要壓縮文件夾 a 下所有的內(nèi)容,就執(zhí)行 zip -r a.zip a ; 如果是將其他目錄下的文件壓縮到當(dāng)前路徑,xxx前面

    2024年02月08日
    瀏覽(28)
  • 輕量級(jí)力量:深入MiniZip庫,實(shí)現(xiàn)C++中ZIP文件的簡(jiǎn)便壓縮與解壓

    輕量級(jí)力量:深入MiniZip庫,實(shí)現(xiàn)C++中ZIP文件的簡(jiǎn)便壓縮與解壓

    ? MiniZip是一個(gè)輕量級(jí)的壓縮庫,它是zlib庫的一部分,用于在C++中進(jìn)行ZIP文件的壓縮和解壓縮操作。以下是MiniZip的一些功能和優(yōu)點(diǎn): 功能: 創(chuàng)建ZIP文件: ?MiniZip可以用于創(chuàng)建包含一個(gè)或多個(gè)文件的ZIP歸檔。 壓縮: ?MiniZip支持使用不同的壓縮算法對(duì)文件進(jìn)行壓縮,例如DEFL

    2024年02月04日
    瀏覽(23)
  • Linux 壓縮、解壓文件的 4 種方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

    Linux 壓縮、解壓文件的方式有如下幾種: tar 是一種常用的打包工具,可以將多個(gè)文件或目錄打包成一個(gè) tar 包,也可以將一個(gè) tar 包解壓縮到指定的目錄。 1.1. 壓縮: 1.2. 解壓: 1.3. tar 命令各參數(shù)含義 tar 命令是 Linux 下常用的打包和壓縮工具,用于將多個(gè)文件或目錄打包成一

    2024年02月10日
    瀏覽(36)
  • 【Linux筆記】壓縮、解壓文件的 4 種方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

    【Linux筆記】壓縮、解壓文件的 4 種方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

    目錄 1、使用 tar 命令: 1.1. 壓縮: 1.2. 解壓: 1.3. tar 命令各參數(shù)含義 2. gzip、gunzip gzip 命令: 壓縮文件: 保留原始文件,創(chuàng)建壓縮文件: 保留原始文件,顯示壓縮進(jìn)度: gunzip 命令: 解壓文件: 保留壓縮文件,創(chuàng)建原始文件: 保留壓縮文件,顯示解壓進(jìn)度: 3. zip、unzip

    2024年02月03日
    瀏覽(26)
  • linux_文件壓縮、文件解壓(gzip命令、gunzip 命令、bzip2命令、bunzip2命令、tar命令、rar命令、zip命令)

    接上一篇:linux用戶管理(查看在線用戶who命令、創(chuàng)建用戶adduser命令、創(chuàng)建用戶組groupadd命令、查看用戶組groups命令、刪除用戶、設(shè)置用戶密碼passwd命令) 本次來分享怎樣在 linux中壓縮和解壓文件夾 ,在linux中壓縮解壓的方式有 5種 ,分別是 gz格式壓縮解壓、bz2格式壓縮解壓、

    2024年02月01日
    瀏覽(23)
  • zip解壓和壓縮

    引言 介紹zip文件的概念 涉及到的Java類和包: java.util.zip https://blog.csdn.net/u012998680/article/details/126060855 壓縮文件 準(zhǔn)備壓縮的源文件和目標(biāo)zip文件的路徑 創(chuàng)建 FileOutputStream 和 ZipOutputStream 對(duì)象 創(chuàng)建源文件的 File 和 FileInputStream 對(duì)象 創(chuàng)建 ZipEntry 對(duì)象,并設(shè)置其名稱為源文件的名

    2024年02月11日
    瀏覽(30)
  • Qt 編譯使用Bit7z庫接口調(diào)用7z.dll、7-Zip.dll解壓壓縮常用Zip、ISO9660、Wim、Esd、7z等格式文件(一)

    Qt 編譯使用Bit7z庫接口調(diào)用7z.dll、7-Zip.dll解壓壓縮常用Zip、ISO9660、Wim、Esd、7z等格式文件(一)

    bit7z 一個(gè)c++靜態(tài)庫,為 7-zip 共享庫提供了一個(gè)干凈簡(jiǎn)單的接口 使用 CMAKE 重新編譯 github 上的 bit7z 庫,用來解壓/預(yù)覽 iso9660 , WIm , Zip , Rar 等常用的壓縮文件格式。 z-zip 庫支持大多數(shù)壓縮文件格式 bit7z 是一個(gè)跨平臺(tái)的c++靜態(tài)庫,它允許通過一個(gè)干凈簡(jiǎn)單的包裝器接口從7-

    2024年02月11日
    瀏覽(98)
  • Qt 編譯使用Bit7z庫接口調(diào)用7z.dll、7-Zip.dll解壓壓縮常用Zip、ISO9660、Wim、Esd、7z等格式文件(二)

    修改qt5 7zip源碼編譯及使用(含展示進(jìn)度)一文中的封裝類ZlibHelper代碼類,繼承多線程,使解壓,壓縮時(shí)進(jìn)度條不影響界面,同時(shí)添加壓縮文件中的文件預(yù)覽功能,建議直接看源碼 lib_bit7z.h 頭文件代碼

    2024年02月11日
    瀏覽(23)
  • Linux :: 壓縮與解壓指令【1】:zip / unzip 指令:壓縮與解壓用法詳解

    前言:本篇是 Linux 基本操作篇章的內(nèi)容! 筆者使用的環(huán)境是基于騰訊云服務(wù)器:CentOS 7.6 64bit。 學(xué)習(xí)集: C++ 入門到入土?。?!學(xué)習(xí)合集 Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集 目錄索引: 1. 基本用法及功能 2. 基本用法:壓縮/解壓指定文件【注意代碼示例內(nèi)容!】 3. 「-r」

    2024年01月25日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包