色欲av一区久久精品_久久综合色综合色88_无码在线观看不卡_色黄视频网站_亚洲国产精品久久久久秋霞66

Java操作zip-壓縮和解壓文件

時(shí)間:2023-05-16

一、說(shuō)明
rar格局的緊縮包收費(fèi),java支撐zip格局的緊縮和解壓Java
二、東西類(lèi)
importjava.io.*;importjava.util.Enumeration;importjava.util.List;importjava.util.zip.ZipEntry;importjava.util.zip.ZipFile;importjava.util.zip.ZipOutputStream;publicclassZipUtils{privatestaticfinalintBUFFER_SIZE=2*1024;/**
*zip解壓
*@paramsrcFilezip源文件
*@paramdestDirPath解壓后的方針文件夾
*@throwsRuntimeException解壓失利會(huì)拋出運(yùn)行時(shí)反常
*/publicstaticvoidunZip(FilesrcFile,StringdestDirPath)throwsRuntimeException{longstart=System.currentTimeMillis();//判別源文件是否存在if(!srcFile.exists()){thrownewRuntimeException(srcFile.getPath()+”所指文件不存在”);
}//開(kāi)始解壓ZipFilezipFile=null;try{
zipFile=newZipFile(srcFile);
Enumerationentries=zipFile.entries();while(entries.hasMoreElements()){
ZipEntryentry=(ZipEntry)entries.nextElement();
System.out.println(“解壓”+entry.getName());//如果是文件夾,就創(chuàng)立個(gè)文件夾if(entry.isDirectory()){
StringdirPath=destDirPath+”/”+entry.getName();
Filedir=newFile(dirPath);
dir.mkdirs();
}else{//如果是文件,就先創(chuàng)立一個(gè)文件,然后用io流把內(nèi)容copy曩昔FiletargetFile=newFile(destDirPath+”/”+entry.getName());//確保這個(gè)文件的父文件夾必需要存在if(!targetFile.getParentFile().exists()){
targetFile.getParentFile().mkdirs();
}
targetFile.createNewFile();//將緊縮文件內(nèi)容寫(xiě)入到這個(gè)文件中InputStreamis=zipFile.getInputStream(entry);
FileOutputStreamfos=newFileOutputStream(targetFile);intlen;byte[]buf=newbyte[BUFFER_SIZE];while((len=is.read(buf))!=-1){
fos.write(buf,0,len);
}//關(guān)流次序,先打開(kāi)的后封閉fos.close();
is.close();
}
}longend=System.currentTimeMillis();
System.out.println(“解壓完成,耗時(shí):”+(end-start)+”ms”);
}catch(Exceptione){thrownewRuntimeException(“unziperrorfromZipUtils”,e);
}finally{if(zipFile!=null){try{
zipFile.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}/**
*緊縮成ZIP辦法
*@paramsrcFiles需要緊縮的文件列表
*@paramout緊縮文件輸出流
*@throwsRuntimeException緊縮失利會(huì)拋出運(yùn)行時(shí)反常
*/publicstaticvoidtoZip(ListsrcFiles,OutputStreamout)throwsException{longstart=System.currentTimeMillis();
ZipOutputStreamzos=null;try{
zos=newZipOutputStream(out);for(FilesrcFile:srcFiles){byte[]buf=newbyte[BUFFER_SIZE];
zos.putNextEntry(newZipEntry(srcFile.getName()));intlen;
FileInputStreamin=newFileInputStream(srcFile);while((len=in.read(buf))!=-1){
zos.write(buf,0,len);
}
zos.closeEntry();
in.close();
}longend=System.currentTimeMillis();
System.out.println(“緊縮完成,耗時(shí):”+(end-start)+”ms”);
}catch(Exceptione){thrownewRuntimeException(“ziperrorfromZipUtils”,e);
}finally{if(zos!=null){try{
zos.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
}
三、使用東西類(lèi)緊縮和解壓文件
importcom.szfore.utils.ZipUtils;importjava.io.File;importjava.io.FileOutputStream;importjava.io.OutputStream;importjava.util.ArrayList;importjava.util.List;publicclassTestZip{publicstaticvoidmain(String[]args)throwsException{//testToZip();testUnzip();
}/**
*測(cè)試緊縮文件
*/publicstaticvoidtestToZip()throwsException{
Filefile1=newFile(“c:\\1.txt”);
Filefile2=newFile(“c:\\2.txt”);
Listfiles=newArrayList();
files.add(file1);
files.add(file2);
OutputStreamout=newFileOutputStream(“c:\\1.zip”);
ZipUtils.toZip(files,out);
}/**
*測(cè)試解壓文件
*@throwsException
*/publicstaticvoidtestUnzip()throwsException{
FilesrcFile=newFile(“c:\\2.zip”);
StringdestDirPath=”c:\\”;
ZipUtils.unZip(srcFile,destDirPath);
}
}

文章標(biāo)簽:

Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)

與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
ciya68