博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java压缩 GZIP进行简单压缩,ZIP进行多文件保存
阅读量:7067 次
发布时间:2019-06-28

本文共 3667 字,大约阅读时间需要 12 分钟。

hot3.png

java压缩  GZIP进行简单压缩,ZIP进行多文件保存

package org.rui.io.compress;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.InputStreamReader;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutputStream;/** * 用GZIP进行简单压缩 * @author lenovo * */public class GZIPcompress {	static String path="D:\\Users\\liangrui\\workspace\\thinking\\src\\org\\rui\\io\\compress\\";	static String [] arg=new String[]{path+"GZIPcompress.java"};	public static void main(String[] args) throws Exception {		//in		BufferedReader in=new BufferedReader(new FileReader(arg[0]));		//out		BufferedOutputStream out=new BufferedOutputStream(new GZIPOutputStream(				new FileOutputStream("test.gz")				));		System.out.println("writing file");		int c;		while((c=in.read())!=-1)		{			out.write(c);		}		//close		in.close();		out.close();		System.out.println("reading file================");		BufferedReader br=new BufferedReader(				new InputStreamReader(						new GZIPInputStream(								new FileInputStream("test.gz")								)						)				);				String s;		while((s=br.readLine())!=null)			System.out.println(s);	}}

package org.rui.io.compress;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.util.Enumeration;import java.util.zip.Adler32;import java.util.zip.CheckedInputStream;import java.util.zip.CheckedOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;/** * 用Zip进行多文件保存 * @author lenovo * */public class ZipCompress {	//static String path="D:\\Users\\liangrui\\workspace\\thinking\\src\\org\\rui\\io\\compress\\";	static String path=new File("").getAbsolutePath()+"\\src\\org\\rui\\io\\compress\\";	static String [] arg=new String[]{path+"GZIPcompress.java",path+"ZipCompress.java"};		public static void main(String[] args) throws Exception {		//out		FileOutputStream f=new FileOutputStream("test.zip");		CheckedOutputStream cos=new CheckedOutputStream(f,new Adler32());		ZipOutputStream zos=new ZipOutputStream(cos);		//out		BufferedOutputStream out=new BufferedOutputStream(zos);		zos.setComment("A test of java zipping");				for(String s:arg)		{			System.out.println("writing file "+s);			BufferedReader in =new BufferedReader(new FileReader(s));			//			zos.putNextEntry(new ZipEntry(s));			int c;			while((c=in.read())!=-1){				out.write(c);			}			in.close();			out.flush();		}				out.close();		//checksum valid only after the file has been closed!		System.out.println("reading file================");		FileInputStream fi=new FileInputStream("test.zip");		CheckedInputStream csumi=new CheckedInputStream(fi,new Adler32());		ZipInputStream zis=new ZipInputStream(csumi);		BufferedInputStream bis=new BufferedInputStream(zis);		ZipEntry ze;		while((ze=zis.getNextEntry())!=null)		{			System.out.println("Reading file "+ze);			int x;			while((x=bis.read())!=-1)			{				//System.out.print((char)x);				System.out.write(x);			}		}				//		if(arg.length==1)			System.out.println("checksum:"+csumi.getChecksum().getValue());		bis.close();		//alternative way to open and read zip files		ZipFile zf=new ZipFile("test.zip");				Enumeration e=zf.entries();		while(e.hasMoreElements())		{			ZipEntry ze2=(ZipEntry) e.nextElement();			System.out.println("file:"+ze2);			//...and extract the data as before		}		/*if(arg.length==1)*/			}}

转载于:https://my.oschina.net/pangzhuzhu/blog/301788

你可能感兴趣的文章
Hibernate5-进阶添加工具类,对获取Session的方法封装
查看>>
通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)
查看>>
Debian软件包信息查询
查看>>
天猫物流提速背后:大数据加速颠覆传统零售业
查看>>
网页优化十大策略
查看>>
为每一个table单元格设置不同的背景颜色
查看>>
盘点智能硬件中那些脑洞大开的黑科技
查看>>
[HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
查看>>
maven pom.xml详解
查看>>
活动目录数据库文件介绍
查看>>
Linux下配置tomcat+apr+native应对高并发
查看>>
html5播放mp4视频代码
查看>>
孟子>正文 活动目录(Active Directory)域故障解决实例(转载)
查看>>
NoSuchMethodError: org.hibernate.SessionFactory.openSession
查看>>
textarea自动调整高宽
查看>>
python基础---面向对象高级
查看>>
vim的分屏
查看>>
windows客户端安装
查看>>
关于大型网站技术演进的思考(十八)--网站静态化处理—反向代理(10)
查看>>
Centos7怎么安装gnome桌面及远程桌面VNC
查看>>