Java读取.zip文件为ZipInputStream,并读取压缩文件。

2023-11-03

** 最近遇到一个需求,要调取接口获取一个zip文件流。解析zip包,读取启动的文件内容来进行业务处理。以下是处理读取zip压缩包方法,话不多说直接上代码。**

读取zip文件流,解析压缩文件

public static void main(String[] args) {
            String zipFilePath = "example.zip";

            try {
                FileInputStream fis = new FileInputStream(zipFilePath);
                ZipInputStream zis = new ZipInputStream(fis);

                ZipEntry zipEntry = zis.getNextEntry();
                while (zipEntry != null) {
                    // 如果该项是一个文件
                    if (!zipEntry.isDirectory()) {
                        String fileName = zipEntry.getName();
                        ByteArrayOutputStream bos = new ByteArrayOutputStream();

                        byte[] buffer = new byte[1024];
                        int len;
                        while ((len = zis.read(buffer)) > 0) {
                            bos.write(buffer, 0, len);
                        }
                        // 将解压出的文件流输出到控制台
                        String content = bos.toString();
                        System.out.println(fileName + ": " + content);
                    }
                    zis.closeEntry();
                    zipEntry = zis.getNextEntry();
                }

                zis.close();
                fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java读取.zip文件为ZipInputStream,并读取压缩文件。 的相关文章

  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • Java中有没有一种方法可以通过名称实例化一个类?

    我正在寻找问题 从字符串名称实例化一个类 https stackoverflow com questions 9854900 instantiate an class from its string name它描述了如何在有名称的情况下实例
  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要

随机推荐

  • Django爬过的坑坑~(2020年5月)

    Django爬过的坑坑 2020年5月 大噶好 我作为一名新人 在学习的过程中难免会遇到让人抓狂的坑坑 一丁点小错误就把人搞得头皮发麻 咳咳 首先这次我第一次发博客 目的是想分享一下自己在Django中遇到的各种坑 此坑我用了半个月的时间
  • 问chatgpt关于Android效率最高的列表控件的回答

    在Android中 效率最高的列表控件是RecyclerView RecyclerView是Android官方推荐的列表控件 相比于ListView和GridView 它具有以下优势 复用ViewHolder RecyclerView通过V
  • DP算法题收集汇总

    三种基本背包问题 一 0 1背包问题 问题描述 有n件物品和容量为m的背包 给出i件物品的重量以及价值求解让装入背包的物品重量不超过背包容量 且价值最大 特点
  • Windows下使用Kconfig管理编译配置

    Windows下使用Kconfig管理编译配置 文章目录 Windows下使用Kconfig管理编译配置 存在的问题 解决办法 存在的问题 项目开发过程中 为方便进行编译配置管理 引入了Kconfig python的konfiglib和me
  • sql server服务无法启动怎么办?如何正常启动?

    sql server软件是一款关系型数据库管理系统 具有使用方便可伸缩性好与相关软件集成程度高等优点 并且有些应用软件使用过程中是需要sql server数据库的后台支持的 我们在数据编程操作时经常会使用这款编程软件 在编程时系统有时会提示
  • Qt_信号与槽

    1 信号与槽基本理解 信号 Signal 就是在特定情况下被发射的事件 槽 Slot 就是对信号响应的函数 槽就是一个函数 connect 是 QObject 类的一个静态函数 而 QObject 是所有 Qt 类的基类 在实际调用时可以忽
  • Flink:调用JPMML机器学习模型

    有个需求就是要使用数据分析团队实现好的模型 而且是python的 要求在Flink平台上跑起来提供实时调用模型处理数据 文章目录 背景 JPMML介绍 环境准备 安装 使用 步骤 示例 决策树分类Iris数据集 训练模型并获得PMML文件
  • 什么是强缓存和协商缓存?

    强缓存 使用强缓存策略时 如果缓存资源有效 则直接使用缓存资源 不必再向服务器发起请求 强缓存策略可以通过 http 头信息中的 Expires 属性和 Cache Control 属性两种方式设置 命中后返回 200 服务器通过在响应头中
  • PyCharm里from...import...出现波浪线标红

    PyCharm在遇到模块找不到时 会使用红色波浪线提醒开发者 这本来是一个非常好的功能 但却由于另外一个问题 会给一些Python初学者造成困扰 这一篇文章 我们讲讲工作区导致的这个问题 首先我们创建一个login py文件 它的内容如下
  • webpack打包全流程

    一 webpack 五个核心概念 1 1 Entry 入口 Entry 指示 webpack 以哪个文件为入口起点开始打包 分析构建内部依赖图 1 2 Output 输出 Output 指示 webpack 打包后的资源 bundles 输
  • Playwright + Pytest 自动化测试实战应用

    工具介绍 Playwright是微软公司开发的一款非常强大的开源自动化测试工具 之所以强大有以下原因 支持所有主流浏览器 Chrome Firefox Safari MS Edge 支持无头模式和有头模式运行 提供同步 异步的API 可以结
  • 简述WINDOWS系统重装步骤

    目录 一 备份 二 准备安装媒体 三 BIOS设置 四 安装windows系统 总结 在使用WINDOWS系统的电脑产品时 有时候我们会遇到系统使用过久导致系统卡顿 整理电脑磁盘时误删了系统文件并彻底清除导致电脑无法正常启动或者电脑磁盘因下
  • Linux文件压缩和解压命令【gzip、gunzip、zip、unzip、tar】【详细总结】

    解压和压缩 gzip gunzip gzip 压缩文件 gunzip 解压缩文件 zip unzip zip 命令语法 命令选项 实例 unzip 语法 命令选项 实例 tar 语法 实例 例一 将文件打包成tar包 例二 查阅 tar包内
  • socket.gaierror: [Errno -2] Name or service not known

    执行socket gethostbyname socket gethostname 报 socket gaierror Errno 2 Name or service not known 错误 分析记录如下 更正前 执行命令vi etc h
  • redis主从复制+sentinel集群

    Redis主从介绍 主从服务就是用户在主服务器写入数据后 从服务器在写一份数据 一般用在如下场景 1 辅助实现备份 2 高可用 主从复制只是redis高可用的前提 3 异地容灾 4 分摊负载 redis主从特点介绍 1 redis使用异步复
  • windows下在anaconda中安装tensorflow和keras

    windows下在anaconda中安装tensorflow和keras 一 在anaconda中创建一个新的python环境并安装tensorflow 1 创建环境名为tensorflow python38的python环境 python
  • 微信小程序wx.getUserProfile接口获取用户信息的使用

    前言 调整原因 很多开发者在打开小程序时就通过组件方式唤起getUserInfo弹窗 如果用户点击拒绝 无法使用小程序 这种做法打断了用户正常使用小程序的流程 同时也不利于小程序获取新用户 调整策略 推荐使用 wx getUserProfi
  • 【Seata】03 - Seata AT 模式全局锁相关知识简单整理

    文章目录 前言 参考目录 版本说明 分析整理 1 全局锁的引入说明 2 全局锁相关源码整理 2 1 流程简图 2 2 事务分支注册前的 SQL 相关操作 2 3 注册分支 获取全局锁 前言 上一篇文章介绍了 AT 模式的调用流程 但是有个比
  • Unity位置动画

    1 场景中创建一个Cube 2 为这个Cube添加Animator组件 3 选中这个Cube 然后选择Window Animation 打开animation窗口 下面就开始K关键帧了 很简单 两步走 1 选中这个Cube对象 在第0帧 移
  • Java读取.zip文件为ZipInputStream,并读取压缩文件。

    最近遇到一个需求 要调取接口获取一个zip文件流 解析zip包 读取启动的文件内容来进行业务处理 以下是处理读取zip压缩包方法 话不多说直接上代码 读取zip文件流 解析压缩文件 public static void main Strin