Java压缩文件

package control;


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
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;


public class ZipCompress {


public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
if(args.length==0){
args=new String[2];
args[0]="src/control/ZipCompress.java";
args[1]="src/control/ToolFreezeAlien.java";
}
FileOutputStream file=new FileOutputStream("MyZip.zip");
CheckedOutputStream ckfile=new CheckedOutputStream(file, new Adler32());
ZipOutputStream zipos=new ZipOutputStream(ckfile);
BufferedOutputStream out=new BufferedOutputStream(zipos);
zipos.setComment("Java 压缩程序演示");
for(int i=0;i<args.length;i++){
System.out.println("写入文件: "+args[i]);
BufferedReader in = new BufferedReader(new FileReader(args[i]));
zipos.putNextEntry(new ZipEntry(args[i]));
int c;
while((c=in.read())!=-1){
out.write(c);
}
in.close();
}
out.close();
System.out.println("Checksum: "+ckfile.getChecksum().getValue());
//开始执行文件
System.out.println("正在读取文件");
FileInputStream fi=new FileInputStream("MyZip.zip");
CheckedInputStream csumi=new CheckedInputStream(fi, new Adler32());
ZipInputStream in2=new ZipInputStream(csumi);
BufferedInputStream bis=new BufferedInputStream(in2);
ZipEntry ze;
while((ze=in2.getNextEntry())!=null){
System.out.println("读取文件: "+ze);
int i_read;
while((i_read=bis.read())!=-1){
System.out.print((char)i_read);
}
System.out.println();
}
System.out.println("Checksum: "+csumi.getChecksum().getValue());
bis.close();
@SuppressWarnings("resource")
ZipFile zf=new ZipFile("MyZip.zip");
Enumeration<?> e=zf.entries();
while(e.hasMoreElements()){
ZipEntry ze2=(ZipEntry)e.nextElement();
System.out.println("文件: "+ze2);
}
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值