首先到sourceforge网站下载sevenzipjbinding压缩包
我下载的版本是sevenzipjbinding-4.65-1.04-rc-extr-only-AllWindows.zip
publicvoidunzipDirWithPassword( final String sourceZipFile ,
final String destinationDir , final String password ){
RandomAccessFile randomAccessFile=null;
ISevenZipInArchive inArchive=null;try{
randomAccessFile=newRandomAccessFile(sourceZipFile,"r");
inArchive=SevenZip.openInArchive(null,//autodetect archive typenewRandomAccessFileInStream(randomAccessFile));//Getting simple interface of the archive inArchiveISimpleInArchive simpleInArchive=inArchive.getSimpleInterface();for(final ISimpleInArchiveItem item : simpleInArchive.getArchiveItems()){
finalint[] hash=newint[] {0};if(!item.isFolder()){
ExtractOperationResult result;
result=item.extractSlow(newISequentialOutStream(){publicintwrite(finalbyte[] data) throws SevenZipException{try{if(item.getPath().indexOf(File.separator)>0){
String path=destinationDir+File.separator+item.getPath(). substring(0,item.getPath().lastIndexOf(File.separator));
File folderExisting=newFile(path);if(!folderExisting.exists())newFile(path).mkdirs();
}if(!newFile(destinationDir+File.separator+item.getPath()).exists()){newFile(destinationDir).createNewFile();
}
OutputStreamout=newFileOutputStream(destinationDir+File.separator+item.getPath());out.write(data);out.close();
}catch( Exception e ){
e.printStackTrace();
}
hash[0]|=Arrays.hashCode(data);returndata.length;//Return amount of proceed data}
},password);///password.if(result==ExtractOperationResult.OK){
System.out.println(String.format("%9X | %s",
hash[0], item.getPath()));
}else{
System.err.println("Error extracting item:"+result);
}
}
}
}catch(Exception e){
e.printStackTrace();
}finally{if(inArchive!=null){try{
inArchive.close();
}catch(SevenZipException e){
System.err.println("Error closing archive:"+e);
e.printStackTrace();
}
}if(randomAccessFile!=null) {try{
randomAccessFile.close();
}catch(IOException e){
System.err.println("Error closing file:"+e);
e.printStackTrace();
}
}
}
如果觉得《java怎么调用7zip进行压缩_JAVA使用7-zip解压缩带密码的Zip文件(非Proccess方法)...》对你有帮助,请点赞、收藏,并留下你的观点哦!