c++ gzip java.util.zip.gzip_java压缩 GZIP进行简单压缩,ZIP进行多文件保存

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

39a29c73f5b79e3c0483dd1dfe38653f.png

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);

}

}

e5715921bd310a476574d5d7036115d1.png

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)*/

}

}

bcb438bde5a1b032217f5e550527eaf6.png

2e3ce86c99c93482bc55a00afcc0830a.png

a4ad8da58f2d4309c06bac394558d4cf.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值