欢迎来到天天文库
浏览记录
ID:50991790
大小:30.72 KB
页数:16页
时间:2020-03-08
《java算法实现压缩及解压缩.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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{
2、 staticfinalintBUFFER=2048; publicstaticvoidmain(Stringargv[]){ try{ BufferedInputStreamorigin=null; FileOutputStreamdest=newFileOutputStream("E:\test\myfiles.zip"); ZipOutputStreamout=newZipOutputStream(newBufferedOutputStream( dest)); bytedata[]=newbyte[BUFFER]; F
3、ilef=newFile("e:\test\a\"); Filefiles[]=f.listFiles(); for(inti=0;i4、 while((count=origin.read(data,0,BUFFER))!=-1){ out.write(data,0,count); } origin.close(); } out.close(); }catch(Exceptione){ e.printStackTrace(); } } } 解压缩的 importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.File; importjava.5、io.FileOutputStream; importjava.util.Enumeration; importjava.util.zip.ZipEntry; importjava.util.zip.ZipFile; publicclassUnZip{ staticfinalintBUFFER=2048; publicstaticvoidmain(Stringargv[]){ try{ StringfileName="E:\test\myfiles.zip"; StringfilePath="E:\test\"; Zi6、pFilezipFile=newZipFile(fileName); Enumerationemu=zipFile.entries(); inti=0; while(emu.hasMoreElements()){ ZipEntryentry=(ZipEntry)emu.nextElement(); //会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。 if(entry.isDirectory()) { newFile(filePath+entry.getName())7、.mkdirs(); continue; } BufferedInputStreambis=newBufferedInputStream(zipFile.getInputStream(entry)); Filefile=newFile(filePath+entry.getName()); //加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件 //而这个文件所在的目录还没有出现过,所以要建出目录来。 Fileparent=file.getParentFile(); if(8、parent!=null&&(!parent.exists())){ parent.mkdirs(); } FileOutputS
4、 while((count=origin.read(data,0,BUFFER))!=-1){ out.write(data,0,count); } origin.close(); } out.close(); }catch(Exceptione){ e.printStackTrace(); } } } 解压缩的 importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.File; importjava.
5、io.FileOutputStream; importjava.util.Enumeration; importjava.util.zip.ZipEntry; importjava.util.zip.ZipFile; publicclassUnZip{ staticfinalintBUFFER=2048; publicstaticvoidmain(Stringargv[]){ try{ StringfileName="E:\test\myfiles.zip"; StringfilePath="E:\test\"; Zi
6、pFilezipFile=newZipFile(fileName); Enumerationemu=zipFile.entries(); inti=0; while(emu.hasMoreElements()){ ZipEntryentry=(ZipEntry)emu.nextElement(); //会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。 if(entry.isDirectory()) { newFile(filePath+entry.getName())
7、.mkdirs(); continue; } BufferedInputStreambis=newBufferedInputStream(zipFile.getInputStream(entry)); Filefile=newFile(filePath+entry.getName()); //加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件 //而这个文件所在的目录还没有出现过,所以要建出目录来。 Fileparent=file.getParentFile(); if(
8、parent!=null&&(!parent.exists())){ parent.mkdirs(); } FileOutputS
此文档下载收益归作者所有