zip解压文件,可选择保留的文件夹及该文件夹下的所有文件

news2024/12/23 2:46:01

zip解压文件,可选择保留的文件夹及该文件夹下的所有文件

代码:
zip里面的文件:
在这里插入图片描述

public static void main(String[] args) {
    // 要解压的ZIP文件路径
    String zipFilePath = "G:\\WeChat\\WeChat Files\\wxid_aff2r4isimwl22\\FileStorage\\File\\2023-07\\Model.zip";
    // 解压的输出文件夹路径
    String outputFolderPath  = "G:\\WeChat\\WeChat Files\\wxid_aff2r4isimwl22\\FileStorage\\File\\2023-07\\20230704";
    // 要保留的文件夹路径;如果要保留models/default/model/该文件夹,则直接修改对应的值就好
    String targetFolder = "models/";

    try {
        // 创建输出文件夹
        File outputFolder = new File(outputFolderPath);
        outputFolder.mkdirs();

        // 创建ZipInputStream来读取zip文件
        FileInputStream fileInputStream = new FileInputStream(zipFilePath);
        ZipInputStream zipInputStream = new ZipInputStream(fileInputStream);

        // 逐个读取zip文件中的entry
        ZipEntry entry = zipInputStream.getNextEntry();
        while (entry != null) {
            String entryName = entry.getName();
            if (entryName.startsWith(targetFolder) && !entry.isDirectory()) {
                // 创建输出文件
                File outputFile = new File(outputFolder, entryName);
                outputFile.getParentFile().mkdirs();

                // 将entry写入输出文件
                FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
                byte[] buffer = new byte[1024];
                int length;
                while ((length = zipInputStream.read(buffer)) > 0) {
                    fileOutputStream.write(buffer, 0, length);
                }
                fileOutputStream.close();
            }

            zipInputStream.closeEntry();
            entry = zipInputStream.getNextEntry();
        }

        zipInputStream.close();
        fileInputStream.close();

        System.out.println("解压完成!");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/715847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

司守奎<数学建模算法应用>第二版----第一章习题解答

司守奎<数学建模算法应用>第二版----第一章习题解答 1.1题目代码 1.2题目 1.3题目代码 1.4题目分析代码 1.1 题目 这道题就是简单的一个线性规划模型,不要求我们自行建立,所以就按照书本上的例题去写就行 代码 % 例题1 %使用matlab解决线性规划问题 %目标函数:z3x1-x2…

GLM-130B本地部署的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

K8S调度管理

调度管理 1.1 调度框架1.1.1 调度体系1.1.2 资源调度 1.2 资源调度1.2.1 节点调度1.2.2 节点亲和1.2.3 Pod亲和1.2.4 Pod反亲和1.2.5 污点&容忍度1.2.6 污点实践 1.3 流量调度1.3.1 Ingress基础1.3.2 Ingress实践1.3.3 Ingress进阶1.3.4 Ingress认证1.3.5 Ingress扩展 1.1 …

【数据结构与算法】求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值

题目 Qestion: 求任意二叉树中第一条最长的路径长度&#xff0c;并输出此路径上各结点的值。 数据结构与定义 typedef struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right; } TreeNode;二叉树形状 核心代码 void FindLongesetPath(TreeNode *node, int…

ChatGPT越来越火,大厂体验设计师纷纷“毕业”?

2020年至2022年是很艰难的三年&#xff0c;全球经济受到沉重打击&#xff0c;我国也不例外。再加上人口红利的削弱&#xff0c;作为体验领域排头兵的互联网行业已经从巅峰状态回落下来&#xff0c;行业光环几乎消失。随之而来的是&#xff0c;国内各个大厂先后开始“降本增效”…

如何在半导体行业运用IPD?

半导体产业链具体包括上游半导体原材料与设备供应、中游半导体产品制造和下游应用。其中&#xff0c;半导体材料处于上游供应环节&#xff0c;材料品类繁多&#xff0c;按制造流程可细分为前端制造材料和后端封装材料。半导体设备&#xff0c;即在芯片制造和封测流程中应用到的…

github上传超过100M的大文件

当上传的工程中有超过100M的文件时&#xff0c;直接上传github会产生如下报错&#xff1a; remote: error: File retinaface-R50/R50-0000.params is 112.54 MB; this exceeds GitHubs file size limit of 100.00 MB! [remote rejected] master -> master (pre-receive ho…

一文了解Docker之网络模型

目录 1.Docker网络 1.1 Docker网络模型概述 1.2 Docker网络驱动程序 1.2.1 host模式 1.2.2 bridge模式 1.2.3 container模式 1.2.4 none模式 1.3 Docker网络命令示例 1.3.1 创建一个自定义网络 1.3.2 列出所有网络 1.3.3 连接容器到网络 1.3.4 断开容器与网络的连接…

ASO优化之海外应用的评分评论

应用评分评论是所有用户生成的反馈汇总&#xff0c;用1-5星等级来表示。这是用户在搜索应用程序是最先想到的事情&#xff0c;所以这对于应用商店优化很重要。 应用商店里有数以万计的应用程序可供使用&#xff0c;并且每天都会发布新的应用&#xff0c;所以为了在竞争激烈的应…

如何让小家电带电池设备快速充满电

如今随着这几年的USB-C PD适配器的普及&#xff0c;消费者手上的PD协议适配器越来越普遍&#xff0c;如何让微软surface 充电器线支持使用PD适配器快充呢&#xff1f;不妨加入一颗受电端PD协议取电芯片——LDR6015 就可以打造一根 PD电源线适配pro7/6/5/4/laptop/book/go Type…

【花雕】全国青少年机器人技术一级考试备考实操搭建手册8

随着科技的不断进步&#xff0c;机器人技术已经成为了一个重要的领域。在这个领域中&#xff0c;机械结构是机器人设计中至关重要的一部分&#xff0c;它决定了机器人的形态、运动方式和工作效率。对于青少年机器人爱好者来说&#xff0c;了解机械结构的基础知识&#xff0c;掌…

HarmonyOS极客松“上分秘籍”! 高手们顶峰相见!

HarmonyOS 极客马拉松2023 火热进行中&#xff0c;我们期待与各位开发者相聚一起&#xff0c;践行极客精神&#xff0c;创造无限可能&#xff01; 我们鼓励各位极客们自由组队&#xff0c;挥洒创意&#xff0c;用HarmonyOS 探索移动应用和服务的更多可能性&#xff01; 优秀的参…

ABB机器人中变量的3种存储类型使用时的区别

ABB机器人中变量的3种存储类型使用时的区别 ABB机器人中变量的存储类型有3种&#xff1a;变量VAR、可变量PERS、常量CONST&#xff0c;如下图所示&#xff0c; 如下图所示&#xff0c;声明一个VAR类型的变量&#xff0c;具体语法格式&#xff1a; 3种存储类型的具体区别如下…

vue3+ts 绘制流程图 vueflow 附代码及效果图

已完成渲染流程图&#xff0c;自定义模板内容(上下分级),自定义样式&#xff0c;新增节点addRandomNode&#xff0c;点击修改节点nodeClickHandler(从父组件传值) 官网&#xff1a;https://vueflow.dev/guide/node.html#node-template 文档比较复杂&#xff0c;很多想找的方法…

nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题

问题描述&#xff1a; 在centos7上部署多个springcloud项目。出现了服务莫名其妙会挂掉一两个的问题&#xff0c;重新启动挂掉的服务之后又会出现其他服务挂掉的情况&#xff0c;查看启动日志也并没有发现有异常抛出。令人费解的是所有的服务都是通过nohup java -jar xxx.jar …

2020年国赛高教杯数学建模C题中小微企业的信贷决策解题全过程文档及程序

2020年国赛高教杯数学建模 C题 中小微企业的信贷决策 原题再现 在实际中&#xff0c;由于中小微企业规模相对较小&#xff0c;也缺少抵押资产&#xff0c;因此银行通常是依据信贷政策、企业的交易票据信息和上下游企业的影响力&#xff0c;向实力强、供求关系稳定的企业提供贷…

MAYA过山车动画

创建骨骼 把小车模型放入到控制器里 有点问题&#xff0c;先建立一个组在试&#xff0c;没问题了

docker框架02docker的安装

01.这次的docker是在centos版本下的Linux系统中安装的。 02.输入命令 01.先去卸载就得版本 02.安装工具包&#xff0c;和设置镜像仓库 03.由于网络的问题&#xff0c;访问国内的阿里云镜像 修改&#xff1a; 04.更新索引和安装社区版的docker 05.启动docker 06.用命令d…

nginx开启http2导致的服务验证码不可用问题

问题描述: 新搭建了一套开源的系统。通过nginx做了https反向代理后无法显示验证码。 具体报错&#xff1a; Uncaught TypeError: Cannot read properties of null (reading ‘property’) 点击报错后跳转到方法&#xff1a; xhr.getAllResponseHeaders() 问题就出在这个方法&…

leetcode 206.反转链表

⭐️ 往期相关文章 ✨链接&#xff1a;数据结构-手撕单链表代码详解。 ⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;反转链表 1️⃣ 代码&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* }…