Java解压zip文件

Java压缩与解压缩ZIP文件 小而美的使用JDK自带的ZIP工具包生成与解压缩ZIP文件 阅读详情
package com;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class ZipOut {
    /**
     * 解压到指定目录
     * @param zipPath
     * @param descDir
     */
    public static void unZipFiles(String zipPath, String descDir) throws IOException {
        unZipFiles(new File(zipPath), descDir);
    }

    /**
     * 解压文件到指定目录
     * 解压后的文件名,和之前一致
     * @param zipFile	待解压的zip文件
     * @param descDir 	指定目录
     */
    @SuppressWarnings("rawtypes")
    public static void unZipFiles(File zipFile, String descDir) throws IOException {

        ZipFile zip = new ZipFile(zipFile, Charset.forName("GBK"));//解决中文文件夹乱码
        String name = zip.getName().substring(zip.getName().lastIndexOf('\\')+1, zip.getName().lastIndexOf('.'));

        File pathFile = new File(descDir);
        if (!pathFile.exists()) {
            pathFile.mkdirs();
        }

        for (Enumeration<? extends ZipEntry> entries = zip.entries(); entries.hasMoreElements();) {
            ZipEntry entry = (ZipEntry) entries.nextElement();
            String zipEntryName = entry.getName();
            InputStream in = zip.getInputStream(entry);
            String outPath = (descDir+"/"+ zipEntryName).replaceAll("\\*", "/");

            // 判断路径是否存在,不存在则创建文件路径
            File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
            if (!file.exists()) {
                file.mkdirs();
            }
            // 判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
            if (new File(outPath).isDirectory()) {
                continue;
            }
            // 输出文件路径信息
//			System.out.println(outPath);

            FileOutputStream out = new FileOutputStream(outPath);
            byte[] buf1 = new byte[1024];
            int len;
            while ((len = in.read(buf1)) > 0) {
                out.write(buf1, 0, len);
            }
            in.close();
            out.close();
        }
        System.out.println("******************解压完毕********************");
        return;
    }

    //测试
    public static void main(String[] args) {
        try {
            unZipFiles(new File("E:\\night\\图\\mytest01.zip"), "E:\\night\\图\\mytest01");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}


 

java解压zip文件 java解压zip文件并且获取所有的文件名。 阅读详情

相关推荐

java解压带密码的zip文件

java.util.zip.ZipException: extra field is of length 0 - this is probably not a WinZip AES encrypted entry     at de.idyl.winzipaes.impl.CentralDirectoryEntry.initFromRaFile(CentralDirectoryEntry.jav

SilverSuperSoul的专栏 7244

JAVA实现压缩解压文件

JAVA实现压缩解压文件

xingchenyv的博客 1万+

从动态规划到最优控制:Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用

本文深入解析了Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用,从动态规划到最优控制的演变过程。通过实际案例展示了HJB方程在机器人路径规划、工业机械臂优化等领域的实践价值,并探讨了数值求解方法和深度学习结合的神经HJB前沿进展。

weixin_28700411的博客 453

Java Zip压缩&解压的三种方式

文章内容列表 使用ZipFile解压文件 使用ZipInputStream解压文件流 使用ZipOutputStream压缩批量文件 说明:本文代码使用的是jdk自带的zip包,如果涉及中文文件名的场景可以使用apache的commons-compress包,代码相差不多,maven依赖如下: <dependency> <grou...

DreamSeeker 1万+

wsl2 配置ubuntu 固定ip

wsls ubuntu 设置固定ip

musk1212的博客 2616

NX二次开发PK获取对象类型

PK_ENTITY_ask_class(),获取对象类型建议用这个函数,比较通用,包含所有对象类型,可以替代UF_MODL_ask_edge_type(),UF_MODL_ask_body_type(),UF_MODL_ask_face_type()等函数。

qq_39541524的博客 827

【Java】压缩包解压实现过程

在解压缩文件过程中,主要是对流的读取操作,注意进行异常处理,以及关闭流。解压缩文件时,注意空文件夹的处理。

weixin_71491685的博客 7613

Python全栈入门到实战【进阶篇 1】类与对象:面向对象编程的基石

Python中定义类使用**class关键字**,创建对象使用**类名()**(类似调用函数),语法简洁,我们从最基础的空类开始,逐步拆解。class# 定义空的学生类,pass表示占位,无实际内容 class Student : pass编码规范:类名遵循大驼峰命名法(每个单词首字母大写,无下划线),如StudentCarPhone,这是Python官方推荐的PEP8规范,便于区分类和其他标识符。实例方法必须定义在类内部;实例方法的第一个参数必须是self(名称可自定义,如this。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3403

JAVA解压ZIP文件

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.

Vince的修炼之路 2143

【毕设级教程】从0到1实现基于YOLOv8的xView卫星图像目标检测系统(含UI界面,助力遥感智能毕设)

本文基于YOLOv8模型设计了一个面向xView卫星图像的目标检测系统。首先对xView数据集进行了格式转换处理,将原始多边形标注转换为YOLO格式的边界框标注。随后通过配置YOLOv8模型参数完成训练,实现了对卫星图像中建筑、车辆等多类目标的准确识别。为提高系统交互性,采用PyQt开发了可视化界面,支持图像选择、实时检测和结果展示功能。整个系统兼顾学术价值和实用价值,为遥感领域的自动化目标检测提供了可行方案。

m0_64661770的博客 130

PCB板Gerber文件的理解和制作

Gerber文件是PCB生产的关键文件,主要包括:1)走线层(GTL/GBL);2)阻焊层(GTS/GBS);3)丝印层(GTO/GBO);4)板框层(GMx/GKO);5)钢网层(Gtp/GBp);6)钻孔文件(NCdrillFiles)。其中1-10项和15项钻孔文件必须提供,建议包含11-14项辅助钻孔层。Gerber文件不含过孔属性,需提前在AD中设置过孔盖油。导出步骤包括:导出非机械层、机械层和钻孔层,新版AD可通过"文件->制造输出->GerberFiles"操作

qq_37999850的博客 853

zip解压文件java

/** 通过查阅API帮助文档,在java.util.zip包中找到所需进行压缩解压的操作类。 1、解压文件:ZipInputStream 构造方法: ZipInputStream(InputStream in) 所需方法: 1、void close()关闭流操作 2、void closeEntry()关闭当前ZIP条目并定位流以操作下一个条目。 3、ZipEntry getNextEntry()

面朝大海,春暖花开 1076

嵌入式数字信号处理器(DSP)高频面试题及参考答案

数字信号处理器(DSP)是一种专门设计用于执行数字信号处理任务的微处理器。它具有高度优化的架构,能够高效地执行复杂的数学运算,如快速傅里叶变换(FFT)、卷积、滤波和其他信号处理算法。DSP通常具有高速的中央处理器、专用的硬件乘法器、累加器、硬件循环支持和高速的内存访问能力,以满足实时信号处理的需求。通信:用于调制解调、语音编码、数据压缩、加密和解密。音频处理:如音乐合成、音效增强、语音识别和语音合成。视频和图像处理:包括图像压缩、视频编码、图像增强和模式识别。生物医学工程。

大模型大数据攻城狮的专栏 5267

java实现解压zip文件

最近需要用java来实现一个加压文件的方法,亲测可用! package alipay.fund.trans.toaccount; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStr...

尚未佩妥剑 转眼便江湖 729

Qt垂直滚动条QVerticalScrollBar详解:从基础到实战的控件开发指南

本文系统解析Qt中QVerticalScrollBar的用法,从基础概念到进阶技巧。主要内容包括:1)基础认知:介绍其继承关系、作用及典型应用场景;2)核心用法:创建方法、关键属性配置和信号槽连接;3)进阶技巧:自定义样式表美化外观,以及与自定义内容区域的联动实现;4)实战注意事项,如避免循环触发和高DPI适配等。文章强调掌握QVerticalScrollBar对提升Qt滚动类功能开发效率的重要性,并建议通过自定义文本编辑器实践巩固知识点。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 758

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 解压文件_java实现解压zip文件,(亲测可用)!!!!!!

项目结构:Util.java内容:package com.cfets.demo;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.nio.charset.Ch...

weixin_28923881的博客 5055

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java解压.zip文件

package test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStre

小志的博客 568

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java 解压zip zip中所有文件放在一个目录下

亲测,粘贴即用,不可以直接评论,帮你解决; pom.xml <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.9.4</version> </depende...

HDXxiazai的博客 510

java解压zip文件程序_java 解压zip文件

public class UnZipUtils {public static synchronized boolean unzip(String zipFileName, String extPlace)throws Exception {return unZipFiles(zipFileName, extPlace);}/*** 解压zip格式的压缩文件到指定位置** @param zipFil...

weixin_30363285的博客 117

java解压zip文件同名复盖_Java实现Zip文件解压

##1. 两种java实现zip文件解压方式使用JDK的原生类java.util.zip,上代码:import java.util.zip.*;import java.io.*;public class UnzipTest {public static void main(String[] args) {if (args.length != 1) {System.out.println("请输入正...

weixin_35647799的博客 770

java zip文件解压(含有密码解压)

<dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>1.3.2</version> </dependency> import java.io.File; import java.io.IOException; import java.util.

never_give_up_zsx的博客 723

java解压zip文件程序_JAVA解压ZIP文件

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Enumer...

weixin_31783001的博客 189
上一篇: Java压缩成zip文件
下一篇: apache提供的开源字符串工具类
GoldWashing
博客等级 码龄8年 18粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值