Java压缩文件

来源:互联网 发布:空白网名软件是什么 编辑:程序博客网 时间:2024/06/05 03:27
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