当前位置: 首页 > news >正文

java 写入写出 zip

package com.su.test.aaaTest.ioTest;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/**

  • 将文件压缩到 zip 中
    */
    public class ZipExample2 {
    public static void main(String[] args) {
    File[] files = new File[2];
    files[0] = new File(“E:\ideaTest\zip\file1.txt”);
    files[1] = new File(“E:\ideaTest\zip\file2.txt”);
    // File[] files2 = {
    // new File(“E:\ideaTest\zip\file1.txt”),
    // new File(“E:\ideaTest\zip\file2.txt”)
    // };
    String targetPath = “E:\ideaTest\zip\example2.zip”;
    writeToZip(files,targetPath);
    }

    public static void writeToZip(File[] files, String targetPath){
    try {
    // 创建一个ZipOutputStream对象,用于将文件写入zip文件
    FileOutputStream fos = new FileOutputStream(targetPath);
    ZipOutputStream zos = new ZipOutputStream(fos);

         for(int i = 0; i < files.length; i++){byte[] buffer = new byte[1024];int len;// 添加文件到zip文件中ZipEntry zipEntry1 = new ZipEntry(files[i].getName());zos.putNextEntry(zipEntry1);// 将文件内容写入zip文件FileInputStream fis1 = new FileInputStream(files[i]);while ((len = fis1.read(buffer)) > 0) {zos.write(buffer, 0, len);}}// 关闭zip文件zos.closeEntry();zos.close();fos.close();} catch (IOException e) {e.printStackTrace();}
    

    }

}

package com.su.test.aaaTest.ioTest;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

/**

  • 从 zip 文件中读取文件
    */
    public class ZipExampleRead2 {
    public static void main(String[] args) {
    String sourcePath = “E:\ideaTest\zip\example.zip”;
    readFromZip(sourcePath);
    }

    public static void readFromZip(String sourcePath){
    try {
    // 读取zip文件中的文件
    FileInputStream fis = new FileInputStream(sourcePath);
    ZipInputStream zis = new ZipInputStream(fis);
    ZipEntry zipEntry = zis.getNextEntry();

         StringBuffer buff = new StringBuffer();BufferedReader br = new BufferedReader(new InputStreamReader(zis));while (zipEntry != null) {System.out.println("FileName: " + zipEntry.getName());System.out.println("FileSize: " + zipEntry.getSize());//                System.out.println("LastModified: " + zipEntry.getLastModifiedDate());System.out.println("LastModified: " + zipEntry.getLastModifiedTime());// 读取文件内容String line;while ((line = br.readLine()) != null){System.out.println("--line:"+line);buff.append(line + "\r\n");}// 关闭当前文件zis.closeEntry();zipEntry = zis.getNextEntry();  // 防止无限循环}System.out.println("buff:\n"+buff);zis.close();fis.close();} catch (IOException e) {e.printStackTrace();}
    

    }
    /**

    • FileName: file1.txt
    • FileSize: -1
    • LastModified: 2024-02-20T14:03:06Z
    • –line:哦哦呀呀呀呀呀呀呀呀呀呀呀呀---------------------哦哦
    • –line:hhhhhhhhhhhhhhhhhhhhhhhhhh
    • FileName: file2.txt
    • FileSize: -1
    • LastModified: 2024-02-20T14:03:06Z
    • –line:lllllllllllllllllllllllllllllll
    • –line:哈哈哈
    • buff:
    • 哦哦呀呀呀呀呀呀呀呀呀呀呀呀---------------------哦哦
    • hhhhhhhhhhhhhhhhhhhhhhhhhh
    • lllllllllllllllllllllllllllllll
    • 哈哈哈哈哈

    */

}

相关文章:

java 写入写出 zip

package com.su.test.aaaTest.ioTest; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** 将文件压缩到 zip 中 */ public c…...

问题解决:‘telnet‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

当在windows终端中运行telnet指令的时候&#xff0c;发现指令不可用&#xff0c;原因在于系统没安装telnet功能。 解决方法&#xff1a; 打开控制面板–》程序–》启用或关闭windows功能–》勾选Telnet客户端&#xff0c;点击确定即可。...

从基础到高级:Linux用户与用户组权限设置详解

目录 博客前言&#xff1a; 一.简介 1.用户的定义 用户账户分类 2.用户组的定义 二.用户的相关linux语法 1.创建用户&#xff08;useradd&#xff09; 2.删除用户&#xff08;userdel&#xff09; 3.修改用户&#xff08;usermod&#xff09; 4.修改用户密码 5.su切…...

【感知机】感知机(perceptron)学习算法知识点汇总

机器学习——感知机 感知机(perceptron)是一种二分类的线性模型&#xff0c;属于判别模型&#xff0c;也称为线性二分类器。输入为实例的特征向量&#xff0c;输出为实例的类别(取1和-1)。可以视为一种使用阶梯函数激活的人工神经元,例如通过梅尔频率倒谱系数&#xff08;MFCC…...

蓝桥杯:C++二分算法

在基本算法中&#xff0c;二分法的应用非常广泛&#xff0c;它是一种思路简单、编程容易、效率极高的算法。蓝桥杯软件类大赛中需要应用二分法的题目很常见。 二分法有整数二分和实数二分两种应用场景 二分法的概念 二分法的概念很简单&#xff0c;每次把搜索范围缩小为上一…...

Leetcode刷题笔记题解(C++):83. 删除排序链表中的重复元素

思路&#xff1a;链表相关的问题建议就是画图去解决&#xff0c;虽然理解起来很容易&#xff0c;但就是写代码写不出来有时候&#xff0c;依次去遍历第二节点如果与前一个节点相等则跳过&#xff0c;不相等则遍历第三个节点 /*** Definition for singly-linked list.* struct …...

@ 代码随想录算法训练营第8周(C语言)|Day56(动态规划)

代码随想录算法训练营第8周&#xff08;C语言&#xff09;|Day56&#xff08;动态规划&#xff09; Day56、动态规划&#xff08;包含题目 ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组 &#xff09; 300.最长递增子序列 题目描述 给你一个整数…...

C# OpenCvSharp DNN Image Retouching

目录 介绍 模型 项目 效果 代码 下载 C# OpenCvSharp DNN Image Retouching 介绍 github地址&#xff1a;https://github.com/hejingwenhejingwen/CSRNet (ECCV 2020) Conditional Sequential Modulation for Efficient Global Image Retouching 模型 Model Properti…...

通过Docker Compose的方式在Docker中安装Maven环境

目前可以说 Docker 已经是在开发部署中成为主流&#xff0c;所以我们很多环境和工具都会安装在 Docker 容器中&#xff0c;Maven 环境是 SpringBoot 项目中最常用的依赖管理工具。当我们使用自动运维工具如 Ansible、Chef 、Puppet、Walle、Spug等&#xff09;管理和部署 Maven…...

Python实现线性逻辑回归和非线性逻辑回归

线性逻辑回归 # -*- coding: utf-8 -*- """ Created on 2024.2.20author: rubyw """import matplotlib.pyplot as plt import numpy as np from sklearn.metrics import classification_report from sklearn import preprocessing from sklearn…...

【软考】软件维护

目录 一、说明二、正确性维护三、适应性维护四、完善性维护五、预防性维护 一、说明 1.软件维护主要是根据需求变化或硬件环境的变化对应用程序进行部分或全部修改 2.修改时应充分利用源程序&#xff0c;修改后要填写程序修改登记表&#xff0c;并在程度变更通知书上写明新旧程…...

突破性创新:OpenAI推出Sora视频模型,预示视频制作技术的未来已到来!

一、前言 此页面上的所有视频均由 Sora 直接生成&#xff0c;未经修改。 OpenAI - Sora is an AI model that can create realistic and imaginative scenes from text instructions. 2024 年 2 月 16 日&#xff0c;OpenAI 发布 AI 视频模型 Sora&#xff0c;60 秒的一镜到底…...

【Web前端笔记10】CSS3新特性

10 CSS3新特性 &#xff11;、圆角 &#xff12;、阴影 &#xff08;&#xff11;&#xff09;盒阴影 &#xff13;、背景渐变 &#xff08;&#xff11;&#xff09;线性渐变&#xff08;主要掌握这种就可&#xff09; &#xff08;&#xff12;&#xff09;径向渐变 &…...

LabVIEW荧光显微镜下微管运动仿真系统开发

LabVIEW荧光显微镜下微管运动仿真系统开发 在生物医学研究中&#xff0c;对微管运动的观察和分析至关重要。介绍了一个基于LabVIEW的仿真系统&#xff0c;模拟荧光显微镜下微管的运动过程。该系统提供了一个高效、可靠的工具&#xff0c;用于研究微管与运动蛋白&#xff08;如…...

【Java面试】MQ(Message Queue)消息队列

目录 一、MQ介绍二、MQ的使用1应用解耦2异步处理3流量削峰4日志处理5消息通讯三、使用 MQ 的缺陷1.系统可用性降低:2.系统复杂性变高3.一致性问题四、常用的 MQActiveMQ:RabbitMQ:RocketMQ:Kafka:五、如何保证MQ的高可用?ActiveMQ:RabbitMQ:RocketMQ:Kafka:六、如何保…...

【安卓基础1】初识Android

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职。 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频链接 &#xff08;他们的视频后面一部分没再更新&#xff0c;看看前面…...

08-静态pod(了解即可,不重要)

我们都知道&#xff0c;pod是kubelet创建的&#xff0c;那么创建的流程是什么呐&#xff1f; 此时我们需要了解我们k8s中config.yaml配置文件了&#xff1b; 他的存放路径&#xff1a;【/var/lib/kubelet/config.yaml】 一、查看静态pod的路径 [rootk8s231 ~]# vim /var/lib…...

PROBIS铂思金融破产后续:ASIC牌照已注销

2024年1月31日&#xff0c;PROBIS铂思金融的澳大利亚ASIC牌照 (AFSL 338241) 被注销《差价合约经纪商PROBIS宣布破产&#xff0c;澳大利亚金融服务牌照遭暂停》&#xff0c;这也就意味着&#xff0c;PROBIS铂思金融目前已经没有任何金融牌照。 值得注意的是&#xff0c;时至今日…...

数字世界的探索者:计算机相关专业电影精选推荐

目录 推荐计算机专业必看的几部电影 《黑客帝国》 《社交网络》 《乔布斯传》 《心灵捕手》 《源代码》 《盗梦空间》 《头号玩家》 《我是谁&#xff1a;没有绝对安全的系统》 《战争游戏》(WarGames) 《模仿游戏》(The Imitation Game) 《硅谷》(Silicon Valley) …...

Spring Boot项目中TaskDecorator的应用实践

一、前言 TaskDecorator是一个执行回调方法的装饰器&#xff0c;主要应用于传递上下文&#xff0c;或者提供任务的监控/统计信息&#xff0c;可以用于处理子线程与主线程间数据传递的问题。 二、开发示例 1.自定义TaskDecorator import org.springframework.core.task.Task…...

2025届必备的六大AI学术工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有一种人工智能开题报告辅助工具&#xff0c;它借助先进的自然语言处理技术与知识图谱技术构…...

实战应用:基于快马平台开发企业内网服务可用性监控系统

今天想和大家分享一个最近用InsCode(快马)平台快速实现的实用项目——企业内网服务可用性监控系统。这个需求来源于我们公司内部的实际痛点&#xff1a;随着服务器数量增加&#xff0c;经常出现某个服务端口异常但没人及时发现的情况。 1. 项目背景与需求分析 我们公司有几十…...

4步构建高效种子管理系统:PT助手Plus全功能实践指南

4步构建高效种子管理系统&#xff1a;PT助手Plus全功能实践指南 【免费下载链接】PT-Plugin-Plus PT 助手 Plus&#xff0c;为 Microsoft Edge、Google Chrome、Firefox 浏览器插件&#xff08;Web Extensions&#xff09;&#xff0c;主要用于辅助下载 PT 站的种子。 项目地…...

3步打造智能家居音乐自由:给爱好者的开源方案详解

3步打造智能家居音乐自由&#xff1a;给爱好者的开源方案详解 【免费下载链接】xiaomusic 使用小爱音箱播放音乐&#xff0c;音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 在智能家居的日常使用中&#xff0c;许多用户都面临着…...

Gemma-3-12B-IT WebUI保姆级教程:含Supervisord进程守护与开机自启

Gemma-3-12B-IT WebUI保姆级教程&#xff1a;含Supervisord进程守护与开机自启 1. 前言&#xff1a;为什么选择Gemma-3-12B-IT&#xff1f; 如果你正在寻找一个性能强劲、部署友好&#xff0c;而且完全免费开源的大语言模型&#xff0c;那么Google的Gemma-3-12B-IT绝对值得你…...

OpenClaw定时任务:千问3.5-9B实现每日自动化流程

OpenClaw定时任务&#xff1a;千问3.5-9B实现每日自动化流程 1. 为什么需要定时任务自动化 去年冬天的一个深夜&#xff0c;我正熬夜准备第二天的重要汇报材料&#xff0c;突然发现需要从三个不同平台导出数据并整理成统一格式。手动操作到凌晨两点时&#xff0c;我意识到这种…...

【回眸】头马演讲备稿演讲框架——出走的莉莉丝

其实我原本是不知道莉莉丝的&#xff0c;在坐有人知道莉莉丝的故事吗&#xff1f;&#xff08;互动一下&#xff09;莉莉丝本来和亚当一样&#xff0c;也是一个人&#xff0c;但她为了追求与亚当平等&#xff0c;逃脱了伊甸园&#xff0c;于是一根“肋骨”变成了夏娃&#xff0…...

101. 如何通过 Rancher Manager 收集指标

Environment 环境 Rancher 2.10 牧场主 2.10 Procedure 程序Rancher support might ask you to collect the Prometheus metrics for the cattle-cluster-agent. 牧场主支持可能会让你收集牛群集群代理的普罗米修斯指标。 They are available through the Rancher local clu…...

济南精神心理专科:如何识别躯体化障碍的早期信号

济南躯体化障碍疾病就医选择难题在济南&#xff0c;面对躯体化障碍疾病的朋友最关心的是隐私和靠谱。选择一家好的医院至关重要&#xff0c;尤其是看躯体化障碍一定要选专科专业医院。这类医院不仅在专业诊疗上更有优势&#xff0c;还能提供更好的隐私保护和服务体验。本文将基…...

Electron 14+ 开发必看:WebContentsView 实战指南(含与 BrowserView 对比)

Electron 14 开发实战&#xff1a;WebContentsView 深度解析与性能优化 如果你正在使用 Electron 14 开发跨平台桌面应用&#xff0c;那么 WebContentsView 绝对是你需要重点掌握的核心组件。作为 Electron 团队在 14 版本引入的全新视图系统&#xff0c;WebContentsView 不仅解…...