欢迎来到天天文库
浏览记录
ID:8926597
大小:51.69 KB
页数:16页
时间:2018-04-12
《java算法实现压缩及解压缩》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、java算法,实现压缩及解压缩Java实现压缩与解压缩ZIP importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.File; importjava.io.FileInputStream; importjava.io.FileOutputStream; importjava.util.zip.ZipEntry; importjava.util.zip.ZipOutputStream; publicclassZip{ staticfinalintBUFFER=2
2、048; publicstaticvoidmain(Stringargv[]){ try{ BufferedInputStreamorigin=null; FileOutputStreamdest=newFileOutputStream("E:\test\myfiles.zip"); ZipOutputStreamout=newZipOutputStream(newBufferedOutputStream( dest)); bytedata[]=newbyte[BUFFER]; Filef=newFile("e:\test\a\"); Filefi
3、les[]=f.listFiles(); for(inti=0;i4、unt); } origin.close(); } out.close(); }catch(Exceptione){ e.printStackTrace(); } } } 解压缩的 importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.File; importjava.io.FileOutputStream; importjava.util.Enumeration; importjava.util.zip.ZipEntry; importjav5、a.util.zip.ZipFile; publicclassUnZip{ staticfinalintBUFFER=2048; publicstaticvoidmain(Stringargv[]){ try{ StringfileName="E:\test\myfiles.zip"; StringfilePath="E:\test\"; ZipFilezipFile=newZipFile(fileName); Enumerationemu=zipFile.entries(); inti=0; while(emu.hasMoreElements()6、){ ZipEntryentry=(ZipEntry)emu.nextElement(); //会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。 if(entry.isDirectory()) { newFile(filePath+entry.getName()).mkdirs(); continue; } BufferedInputStreambis=newBufferedInputStream(zipFile.getInputStream(entry)); Filefile=newFile(filePath+ent7、ry.getName()); //加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件 //而这个文件所在的目录还没有出现过,所以要建出目录来。 Fileparent=file.getParentFile(); if(parent!=null&&(!parent.exists())){ parent.mkdirs(); } FileOutputS
4、unt); } origin.close(); } out.close(); }catch(Exceptione){ e.printStackTrace(); } } } 解压缩的 importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.File; importjava.io.FileOutputStream; importjava.util.Enumeration; importjava.util.zip.ZipEntry; importjav
5、a.util.zip.ZipFile; publicclassUnZip{ staticfinalintBUFFER=2048; publicstaticvoidmain(Stringargv[]){ try{ StringfileName="E:\test\myfiles.zip"; StringfilePath="E:\test\"; ZipFilezipFile=newZipFile(fileName); Enumerationemu=zipFile.entries(); inti=0; while(emu.hasMoreElements()
6、){ ZipEntryentry=(ZipEntry)emu.nextElement(); //会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。 if(entry.isDirectory()) { newFile(filePath+entry.getName()).mkdirs(); continue; } BufferedInputStreambis=newBufferedInputStream(zipFile.getInputStream(entry)); Filefile=newFile(filePath+ent
7、ry.getName()); //加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件 //而这个文件所在的目录还没有出现过,所以要建出目录来。 Fileparent=file.getParentFile(); if(parent!=null&&(!parent.exists())){ parent.mkdirs(); } FileOutputS
此文档下载收益归作者所有