当前位置: 首页 > 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
    • 哈哈哈哈哈

    */

}

http://www.lryc.cn/news/303416.html

相关文章:

  • 问题解决:‘telnet‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
  • 从基础到高级:Linux用户与用户组权限设置详解
  • 【感知机】感知机(perceptron)学习算法知识点汇总
  • 蓝桥杯:C++二分算法
  • Leetcode刷题笔记题解(C++):83. 删除排序链表中的重复元素
  • @ 代码随想录算法训练营第8周(C语言)|Day56(动态规划)
  • C# OpenCvSharp DNN Image Retouching
  • 通过Docker Compose的方式在Docker中安装Maven环境
  • Python实现线性逻辑回归和非线性逻辑回归
  • 【软考】软件维护
  • 突破性创新:OpenAI推出Sora视频模型,预示视频制作技术的未来已到来!
  • 【Web前端笔记10】CSS3新特性
  • LabVIEW荧光显微镜下微管运动仿真系统开发
  • 【Java面试】MQ(Message Queue)消息队列
  • 【安卓基础1】初识Android
  • 08-静态pod(了解即可,不重要)
  • PROBIS铂思金融破产后续:ASIC牌照已注销
  • 数字世界的探索者:计算机相关专业电影精选推荐
  • Spring Boot项目中TaskDecorator的应用实践
  • 511. 游戏玩法分析 I
  • 大模型训练流程(三)奖励模型
  • 替换if...else的锦囊妙计
  • 新建一个flask项目
  • 【Linux 内核源码分析】物理内存组织结构
  • 力扣日记2.21-【回溯算法篇】46. 全排列
  • [AIGC] Kafka 消费者的实现原理
  • Dubbo框架admin搭建
  • Linux 内存top命令详解
  • OCP使用CLI创建和构建应用
  • Chrome关闭时出现弹窗runtime error c++R6052,且无法关闭