广告
返回顶部
首页 > 资讯 > 精选 >Java如何实现ZIP压缩与解压
  • 606
分享到

Java如何实现ZIP压缩与解压

2023-06-17 11:06:01 606人浏览 泡泡鱼
摘要

Java如何实现ZIP压缩与解压,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序实现了ZIP压缩。共分为2部分 : 压缩(compression)与解压(de

Java如何实现ZIP压缩与解压,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

程序实现了ZIP压缩。共分为2部分 : 压缩(compression)与解压(decompression)

大致功能包括用了多态,递归等JAVA核心技术,可以对单个文件和任意级联文件夹进行压缩和解压。 需在代码中自定义源输入路径和目标输出路径。

package com.han;  import java.io.*;  import java.util.zip.*;    public class CopyOfMyZipCompressing {      private int k=1;   //定义递归次数变量      public CopyOfMyZipCompressing() {          // TODO Auto-generated constructor stub      }       public static void main(String[] args) {          // TODO Auto-generated method stub          long startTime=System.currentTimeMillis();          CopyOfMyZipCompressing book=new CopyOfMyZipCompressing();          try {              book.zip("C:\\Users\\HAN\\Desktop\\stock\\SpectreCompressed.zip", //自定义的zip输出路径                      new File("C:\\Users\\HAN\\Desktop\\CombinedSpectres.txt")); //自定义的源输入路径,即要压缩的文件或文件夹          } catch (Exception e) {              // TODO Auto-generated catch block              e.printStackTrace();          }          long endTime=System.currentTimeMillis();          System.out.println("耗费时间: "+(endTime-startTime)+" ms");      }       private void zip(String zipFileName, File inputFile) throws Exception{          System.out.println("压缩中...");          ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));          BufferedOutputStream bo=new BufferedOutputStream(out);          zip(out,inputFile, "/"+inputFile.getName(),bo);          bo.close();          out.close();  //输出流关闭          System.out.println("压缩完成");      }      private void zip(ZipOutputStream out, File f, String base, BufferedOutputStream bo)      throws Exception{ //方法重载          if (f.isDirectory()){              File[] fl=f.listFiles();              for(int i=0;i<fl.length;i++){                  zip(out, fl[i],base+"/"+fl[i].getName(),bo);    //递归遍历子文件夹              }              System.out.println("第"+k+"次递归");              k++;          }else{              out.putNextEntry(new ZipEntry(base)); // 创建zip压缩进入点base              System.out.println(base);              FileInputStream in=new FileInputStream(f);              BufferedInputStream bi=new BufferedInputStream(in);              int b;              while((b=bi.read())!=-1){                  bo.write(b); //将字节流写入当前zip目录              }              bi.close();              in.close(); //输入流关闭          }      }  }
package com.han;   import java.io.*;  import java.util.zip.*;   public class CopyOfMyzipDecompressing {            public static void main(String[] args) {          // TODO Auto-generated method stub          long startTime=System.currentTimeMillis();          try {              ZipInputStream Zin=new ZipInputStream(new FileInputStream(                      "C:\\Users\\HAN\\Desktop\\stock\\SpectreCompressed.zip"));//输入源zip路径              BufferedInputStream Bin=new BufferedInputStream(Zin);              String Parent="C:\\Users\\HAN\\Desktop"; //输出路径(文件夹目录)              File Fout=null;              ZipEntry entry;              try {                  while((entry = Zin.getNextEntry())!=null && !entry.isDirectory()){                      Fout=new File(Parent,entry.getName());                      if(!Fout.exists()){                          (new File(Fout.getParent())).mkdirs();                      }                      FileOutputStream out=new FileOutputStream(Fout);                      BufferedOutputStream Bout=new BufferedOutputStream(out);                      int b;                      while((b=Bin.read())!=-1){                          Bout.write(b);                      }                      Bout.close();                      out.close();                      System.out.println(Fout+"解压成功");                      }                  Bin.close();                  Zin.close();              } catch (IOException e) {                  // TODO Auto-generated catch block                  e.printStackTrace();              }          } catch (FileNotFoundException e) {              // TODO Auto-generated catch block              e.printStackTrace();          }          long endTime=System.currentTimeMillis();          System.out.println("耗费时间: "+(endTime-startTime)+" ms");      }   }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: Java如何实现ZIP压缩与解压

本文链接: https://www.lsjlt.com/news/288727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java如何实现ZIP压缩与解压
    Java如何实现ZIP压缩与解压,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序实现了ZIP压缩。共分为2部分 : 压缩(compression)与解压(de...
    99+
    2023-06-17
  • Java压缩与解压缩ZIP文件
    文章目录 前言Java解压缩文件压缩和解压缩ZIP文件检验应用总结 前言 在现代计算机上,数据传输和存储越来越依赖于文件压缩技术。当我们需要发送大量数据时,压缩文件可以大大减少传输时间...
    99+
    2023-09-11
    java zip 压缩文件 解压缩文件 ZipOutputStream
  • Java如何实现文件压缩为zip和解压zip压缩包
    本篇内容介绍了“Java如何实现文件压缩为zip和解压zip压缩包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!压缩成.zip代码如下:pu...
    99+
    2023-07-02
  • Java实现文件压缩为zip和解压zip压缩包
    目录压缩成.zip解压.zip压缩成.zip 代码如下: public static void toZip(String srcDir, OutputStream out) th...
    99+
    2022-11-13
  • 如何利用Java实现zip压缩解压缩
    小编给大家分享一下如何利用Java实现zip压缩解压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  zip压缩文件结构:一个zip文件由多个entry组成,每...
    99+
    2023-06-03
  • 里有Java如何实现压缩与解压zip文件
    里有Java如何实现压缩与解压zip文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java解压缩zip - 多个文件(包括文件夹),对多个文件和文件夹进行压...
    99+
    2023-05-31
    java ava zip
  • 利用Java实现zip压缩/解压缩 (转)
    利用Java实现zip压缩/解压缩 (转)[@more@]利用Java实现zip压缩/解压缩---摘自互联网  由于网络带宽有限,所以数据文件的压缩有利于数据在Inte.NET上的快速传输,同时也节 省服务器的外存空间。   Java 1....
    99+
    2023-06-03
  • 如何在Java中利用zip实现压缩和解压缩
    这篇文章主要介绍了如何在Java中利用zip实现压缩和解压缩,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和...
    99+
    2023-06-06
  • Java的zip文件压缩与解压:ZipInputStream,ZipOutputStream
    目录 文件压缩 ZipOutputStream文件解压:ZipInputStream 文件压缩 ZipOutputStream    用ZipOutputStream来压缩一个文件夹时,要搭配ZipEntry来使用。ZipEnt...
    99+
    2023-08-16
    java ZipInputStream ZipOutputStream zip
  • java工具类 - 实现文件压缩zip及解压缩
    对hutool工具类进行的封装 依赖 cn.hutool hutool-all 5.8.15 ...
    99+
    2023-10-28
    java
  • Node.js中zip压缩和zip解压缩实例用法
    本篇内容主要讲解“Node.js中zip压缩和zip解压缩实例用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中zip压缩和zip解压缩实例用法...
    99+
    2022-10-19
  • C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压
    zip 是一个非常常见的压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作,我们采用的是 微软官方的实现,所以也不需要安装第三方的组件包。 使用的...
    99+
    2022-11-13
  • vbs实现zip压缩与unzip解压缩函数的代码分享
    本篇内容主要讲解“vbs实现zip压缩与unzip解压缩函数的代码分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vbs实现zip压缩与unzip解压缩函数的代码分享”吧!压缩代码: 复制代码...
    99+
    2023-06-08
  • Android实现zip文件压缩及解压缩的方法
    本文实例讲述了Android实现zip文件压缩及解压缩的方法。分享给大家供大家参考。具体如下: DirTraversal.java如下: package com.once; ...
    99+
    2022-06-06
    压缩 方法 zip 解压 Android
  • 怎么在java中利用压缩流实现压缩与解压
    本篇文章给大家分享的是有关怎么在java中利用压缩流实现压缩与解压,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程...
    99+
    2023-06-14
  • Win10如何使用自带压缩、解压zip压缩文件功能
      Windows系统自带不少工具,到了Win10,好用的功能依然保留,比如压缩/解压zip压缩文件的功能。压缩文件能为系统节省空间,这一功能必不可少。Win10如何使用压缩/解压zip压缩文件功能?   Win10压缩...
    99+
    2023-06-10
    Win10 压缩 功能 自带 压缩文件
  • java如何解压与压缩文件夹
    这篇文章将为大家详细讲解有关java如何解压与压缩文件夹,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。注意:JDK7支持设置编码设置编码格式 zipFile,zipInputStream,zipOutpu...
    99+
    2023-05-31
    java
  • Redis如何实现数据压缩与解压缩功能
    Redis是一款高性能的内存数据库,常用于缓存和数据存储。在数据存储方面,Redis提供了压缩和解压缩功能,可以有效地节省内存空间,提高数据存储和传输效率。本文将介绍Redis如何实现数据压缩和解压缩功能,并给出具体代码示例。Redis中的...
    99+
    2023-11-07
    redis 数据压缩 解压缩
  • Node.js实现压缩与解压数据
    Node.js中提供了一个很好的库Zlib来压缩解压数据。 一、压缩缓冲区 Zlib中有下面几个函数方便解压缩缓冲区. gzip/gunzip:标准gzip压缩.deflate/in...
    99+
    2022-11-13
  • Python实现rar、zip和7z文件的压缩和解压
    一、7z压缩文件的压缩和解压 1、安装py7zr 我们要先安装py7zr第三方库: pip install py7zr 如果python环境有问题,执行上面那一条安装语句老是安装在默认的python环...
    99+
    2023-09-20
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作