糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 利用apache ant 包进行压缩 解压缩zip 归档tar 解档tar 压缩tar.gz解压tar.gz

利用apache ant 包进行压缩 解压缩zip 归档tar 解档tar 压缩tar.gz解压tar.gz

时间:2022-12-03 21:22:58

相关推荐

利用apache ant 包进行压缩 解压缩zip 归档tar 解档tar 压缩tar.gz解压tar.gz

最近用到了利用java进行一序列压缩解压缩,jdk也自带了,这里我就不用它了。本例用到的开源包是apahce ant.jar。我上传了。希望对大家有帮组。

引用 Java压缩zip,解压缩zip Java代码

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.zip.CRC32;import java.util.zip.CheckedOutputStream;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipFile;import org.apache.tools.zip.ZipOutputStream;/*** 利用Apache ant.jar中的zip包进行Zip压缩和解压*/public class XZouZip {/*** 测试压缩*/public void testZip(){File srcFile = new File("c:/upload");//要压缩的文件对象File targetZipFile = new File("c:/upload.zip");//压缩后的文件名ZipOutputStream out = null;boolean boo = false;//是否压缩成功try{CheckedOutputStream cos = new CheckedOutputStream(new FileOutputStream(targetZipFile), new CRC32());out = new ZipOutputStream(cos);//out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream("c:/uploadd.zip")));zip(srcFile, out, "", true);boo = true;}catch(IOException ex){throw new RuntimeException(ex);}finally{try{if(out!=null)out.close();}catch(IOException ex){throw new RuntimeException("关闭Zip输出流出现异常",ex);}finally{//清理操作if(!boo && targetZipFile.exists())//压缩不成功,targetZipFile.delete();}}}/*** 测试解压缩*/public void testUnZip(){File srcZipFile = new File("c:/upload.zip");//要解压缩的zip文件对象String destDir = "c:/a";//将解压文件对象放置a目录中boolean boo = false;//是否压缩成功try {unZip(srcZipFile,destDir);boo = true;} catch (IOException e) {throw new RuntimeException(e);}finally{//清理操作if(!boo)deleteDirectory(new File(destDir));//目标文件夹 。清理}}public static void main(String[] args) throws IOException {XZouZip tool = new XZouZip();tool.testZip();//tool.testUnZip();}/*** 压缩zip文件* @param file 压缩的文件对象* @param out 输出ZIP流* @param dir 相对父目录名称* @param boo 是否把空目录压缩进去*/public void zip(File file,ZipOutputStream out,String dir,boolean boo) throws IOException{if(file.isDirectory()){//是目录File []listFile = file.listFiles();//得出目录下所有的文件对象if(listFile.length == 0 && boo){//空目录压缩out.putNextEntry(new ZipEntry(dir + file.getName() + "/"));//将实体放入输出ZIP流中System.out.println("压缩." + dir + file.getName() + "/");return;}else{for(File cfile: listFile){zip(cfile,out,dir + file.getName() + "/",boo);//递归压缩}}}else if(file.isFile()){//是文件System.out.println("压缩." + dir + file.getName() + "/");byte[] bt = new byte[2048*2];ZipEntry ze = new ZipEntry(dir+file.getName());//构建压缩实体//设置压缩前的文件大小ze.setSize(file.length());out.putNextEntry(ze);将实体放入输出ZIP流中FileInputStream fis = null;try{fis = new FileInputStream(file);int i=0;

如果觉得《利用apache ant 包进行压缩 解压缩zip 归档tar 解档tar 压缩tar.gz解压tar.gz》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。