JavaSE之压缩zip文件
来源:互联网 发布:c语言编程杨辉三角 编辑:程序博客网 时间:2024/06/07 18:58
java压缩文件需要用的java.util.zip包中的ZipEntry和ZipOutputStream类。
ZipEntry类产生的对象,是用来代表一个ZIP压缩文件内的进入点(entry,感觉像是最终生成的zip文件中的一个目录或具体的文件)。
ZipOutputStream类用来写出ZIP压缩格式的文件,而且支持已压缩和未压缩的进入点(entry,就是已经压缩过的文件和没有压缩过的文件都可以)。
具体看代码:
package com.lsy.file;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class MyZip {private void zip(String zipFileName,File inputFile)throws Exception{ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));System.out.println("压缩中>>>>");zip(out,inputFile,"");out.close();}private void zip(ZipOutputStream out,File f,String base)throws Exception{if(f.isDirectory()){File[] fs=f.listFiles();out.putNextEntry(new ZipEntry(base+"/"));base=base.length()==0?"":base+"/";for(int i=0;i<fs.length;i++){zip(out,fs[i],fs[i].toString().substring(fs[i].toString().indexOf("\\")+1, fs[i].toString().length()));}}else{out.putNextEntry(new ZipEntry(base));FileInputStream in=new FileInputStream(f);int b;System.out.println(">>>"+base+">>>>");while((b=in.read())!=-1){out.write(b);}in.close();}}public static void main(String[] args) {MyZip book=new MyZip();try {book.zip("E:/hello.zip", new File("E:/hello"));System.out.println(">>>>压缩完成!");} catch (Exception e) {e.printStackTrace();}}}
0 0
- JavaSE之压缩zip文件
- 代码分类之压缩和解压缩zip文件
- 压缩和解压缩ZIP文件
- C# 压缩 ZIP文件
- Java压缩zip文件
- python zip文件 压缩
- zip文件压缩解压缩
- Android zip文件压缩
- zip文件压缩解压缩
- zip文件压缩
- python压缩zip文件
- java压缩zip文件
- zip压缩、文件下载
- Android zip文件压缩
- File压缩ZIP文件
- ZIP多文件压缩
- 文件ZIP压缩
- .zip文件解压、压缩
- Java多线程如何实现资源共享
- 第一章第十二题
- 版本管理
- compromise
- POJ1743——不可重迭的最长重复子串
- JavaSE之压缩zip文件
- ios-day23-01(ios开发之文件下载)
- 2.用户模块:注册页面JS前台校验.
- 第一章第十四提
- C++运算符重载函数作为类成员函数和友元函数
- C++运算符重载的方法
- 细说 Request[]与Request.Params[]
- C++找对象的季节——static的静态状态(表的问题)
- C++运算符重载的规则