`
lhxctc
  • 浏览: 53125 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多
最近用到了利用java进行一序列压缩解压缩,jdk也自带了,这里我就不用它了。本例用到的开源包是apahce ant.jar。我上传了。希望对大家有帮组。
引用
Java压缩zip,解压缩zip
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;
                
                while((i = fis.read(bt)) != -1) {//循环读出并写入输出Zip流中
  
                    out.write(bt, 0, i);
                }
            	
            }catch(IOException ex){
            	throw new IOException("写入压缩文件出现异常",ex);
            }finally{
            	
            	try{
            		if (fis != null)
            			fis.close();//关闭输入流
            		
            	}catch(IOException ex){
            		
            		throw new IOException("关闭输入流出现异常");
            	}

            }           
		}
		
	}
	
	/**
	 * 解压缩zipFile
	 * @param file 要解压的zip文件对象
	 * @param outputDir 要解压到某个指定的目录下
	 * @throws IOException
	 */
	public void unZip(File file,String outputDir) throws IOException {
		
		
		ZipFile zipFile = null;
		
		try {
			
			zipFile =  new ZipFile(file);	
			
			createDirectory(outputDir,null);//创建输出目录

			Enumeration<?> enums = zipFile.getEntries();
			
			while(enums.hasMoreElements()){
				
				ZipEntry entry = (ZipEntry) enums.nextElement();
				
				System.out.println("解压." +  entry.getName());
				
				if(entry.isDirectory()){//是目录
					
					createDirectory(outputDir,entry.getName());//创建空目录
					
				}else{//是文件
					
					File tmpFile = new File(outputDir + "/" + entry.getName());
					
					createDirectory(tmpFile.getParent() + "/",null);//创建输出目录
					
					InputStream in = null;
					
					OutputStream out = null;
					
					try{
						in = zipFile.getInputStream(entry);;
						
						out = new FileOutputStream(tmpFile);
						
						int length = 0;
						
						byte[] b = new byte[2048];
						
						while((length = in.read(b)) != -1){
							out.write(b, 0, length);
						}
					
					}catch(IOException ex){
						throw ex;
					}finally{
						if(in!=null)
							in.close();
						if(out!=null)
							out.close();
					}
					
				}
				
			}
			
		} catch (IOException e) {
			throw new IOException("解压缩文件出现异常",e);
		} finally{
			try{
				if(zipFile != null){
					zipFile.close();
				}
			}catch(IOException ex){
				throw new IOException("关闭zipFile出现异常",ex);
			}
		}
		
		
	}
	
	/**
	 * 构建目录
	 * @param outputDir
	 * @param subDir
	 */
	public void createDirectory(String outputDir,String subDir){
		
		File file = new File(outputDir);
		
		if(!(subDir == null || subDir.trim().equals(""))){//子目录不为空
			
			file = new File(outputDir + "/" + subDir);
		}
		
		if(!file.exists()){
			
			file.mkdirs();
		}
		
	}
	
	/**
	 * 清理文件(目录或文件)
	 * @param file
	 */
	public void deleteDirectory(File file){
		
		if(file.isFile()){
			
			file.delete();//清理文件
		}else{
			
			File list[] = file.listFiles();
			
			if(list!=null){
			
				for(File f: list){
					deleteDirectory(f);
				}
				file.delete();//清理目录
			}
			
		}
		
	}
}


引用
Java压缩解压缩zip利用ant.更简单

import java.io.File;

import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Expand;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;


/**
 * 利用Apache ant.jar中的ant包进行Zip压缩和解压
 * 这个更为简单
 */
public class XZouZipByAnt {

	public static void main(String[] args) {
		
		XZouZipByAnt jzb = new XZouZipByAnt();
		
		jzb.zip("c:/upload", "c:/upload.zip");
		
		//jzb.unZip("c:/a", "c:/upload.zip");
	}
	
	/**
	 * 解压缩
	 * @param destDir 生成的目标目录下   c:/a
	 * @param sourceZip 源zip文件      c:/upload.zip
	 * 结果则是 将upload.zip文件解压缩到c:/a目录下
	 */
	public void unZip(String destDir,String sourceZip){
		
		 try {
			Project prj1 = new Project();
			
			Expand expand = new Expand();
			
			expand.setProject(prj1);
			
			expand.setSrc(new File(sourceZip));
			
			expand.setOverwrite(false);//是否覆盖

			File f = new File(destDir);
			
			expand.setDest(f);
			
			expand.execute();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


	/**
	 * 压缩
	 * 
	 * @param sourceFile
	 *            压缩的源文件 如: c:/upload
	 * @param targetZip
	 *            生成的目标文件 如:c:/upload.zip
	 */
	public void zip(String sourceFile,String targetZip){
		
		  Project prj = new Project();
		  
		  Zip zip = new Zip();
		  
		  zip.setProject(prj);
		  
		  zip.setDestFile(new File(targetZip));//设置生成的目标zip文件File对象
		  
		  FileSet fileSet = new FileSet();
		  
		  fileSet.setProject(prj);
		  
		  fileSet.setDir(new File(sourceFile));//设置将要进行压缩的源文件File对象
		  
		  //fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夹,只压缩目录中的所有java文件
		  
		  //fileSet.setExcludes("**/*.java"); //排除哪些文件或文件夹,压缩所有的文件,排除java文件
		  
		  
		  zip.addFileset(fileSet);

		  zip.execute();

	}
}


引用
通过 Apache Tool 进行JAVA tar || tar.gz

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
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.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarInputStream;
import org.apache.tools.tar.TarOutputStream;


/**
 * 通过 Apache Tool 进行JAVA tar || tar.gz
 */
public class XZouTarAndGz {


	/**
	 * 测试归档tar文件
	 */
	public File testTar(){
		
		File srcFile = new File("c:/upload");//要归档的文件对象
		
		File targetTarFile = new File("c:/upload.tar");//归档后的文件名
		
		TarOutputStream out = null;
		
		boolean boo = false;//是否压缩成功
		
		try{
			out = new TarOutputStream(new BufferedOutputStream(new FileOutputStream(targetTarFile)));
			
			tar(srcFile, out, "", true);
			
			boo = true;
			
			//归档成功
			
			return targetTarFile;
			
		}catch(IOException ex){
			throw new RuntimeException(ex);
		}finally{
			
			try{
				if(out!=null)
					out.close();
			}catch(IOException ex){
				throw new RuntimeException("关闭Tar输出流出现异常",ex);
			}finally{
				//清理操作
				if(!boo && targetTarFile.exists())//归档不成功,
					targetTarFile.delete();
				
			}
			
		}

		
		
		
	}
	
	
	/**
	 * 测试压缩归档tar.gz文件
	 */
	public void testTarGz(){
		
		File tarFile = testTar();//生成的tar文件
		
		File gzFile = new File(tarFile + ".gz");//将要生成的压缩文件
		
		GZIPOutputStream out = null;
		
		InputStream in = null;
		
		boolean boo = false;//是否成功
		
		try{
			
			in = new FileInputStream(tarFile);
			
			out = new GZIPOutputStream(new FileOutputStream(gzFile),1024 * 2);
			
			byte b[] = new byte[1024 * 2];
			
			int length = 0;
			
			while( (length = in.read(b)) != -1 ){
				
				out.write(b,0,length);
			}
			
			boo = true;
			
		}catch(Exception ex){
			
			throw new RuntimeException("压缩归档文件失败",ex);
		}finally{
			
			try{
				if(out!=null)
					out.close();
				if(in!=null)
					in.close();
			}catch(IOException ex){
				throw new RuntimeException("关闭流出现异常",ex);
			}finally{
				
				if(!boo){//清理操作
					
					tarFile.delete();
					
					if(gzFile.exists())
						gzFile.delete();
					
				}
				
			}
			
		}
		
	}
	
	
	
	/**
	 * 测试解压归档tar文件
	 */
	public void testUnTar(){
		
		File srcTarFile = new File("c:/upload.tar");//要解压缩的tar文件对象
		
		String destDir = "c:/XZou";//把解压的文件放置到c盘下的XZou目录下面
		
		boolean boo = false;//是否压缩成功
		
		try {
			unTar(srcTarFile,destDir);
			boo = true;
		} catch (IOException e) {
			throw new RuntimeException(e);
		}finally{
			//清理操作
			if(!boo)
				deleteDirectory(new File(destDir));//目标文件夹 。清理
			
		}
		
	}
	
	/**
	 * 测试解压归档tar文件
	 */
	public void testUnTarGz(){
		
		File srcTarGzFile = new File("c:/up.tar.gz");//要解压缩的tar.gz文件对象
		
		String destDir = "c:/XZou";//把解压的文件放置到c盘下的XZou目录下面
		
		boolean boo = false;//是否压缩成功
		
		try {
			unTarGz(srcTarGzFile,destDir);
			boo = true;
		} catch (IOException e) {
			throw new RuntimeException(e);
		}finally{
			//清理操作
			if(!boo)
				deleteDirectory(new File(destDir));//目标文件夹 。清理
			
		}
		
	}
	
	public static void main(String[] args) throws Exception {
	
		XZouTarAndGz jtar = new XZouTarAndGz();
		
		//jtar.testTar();
		
		//jtar.testTarGz();
		
		//jtar.testUnTar();
		
		jtar.testUnTarGz();
		
	}
	/**
	 * 归档tar文件
	 * @param file 归档的文件对象
	 * @param out 输出tar流
	 * @param dir 相对父目录名称
	 * @param boo 是否把空目录归档进去
	 */
	public static void tar(File file,TarOutputStream out,String dir,boolean boo) throws IOException{
		
		if(file.isDirectory()){//是目录
			
			File []listFile = file.listFiles();//得出目录下所有的文件对象
			
			if(listFile.length == 0 && boo){//空目录归档
				
				out.putNextEntry(new TarEntry(dir + file.getName() + "/"));//将实体放入输出Tar流中
				
				System.out.println("归档." + dir + file.getName() + "/");
				
				return;
			}else{
				
				for(File cfile: listFile){
					
					tar(cfile,out,dir + file.getName() + "/",boo);//递归归档
				}
			}
			
		}else if(file.isFile()){//是文件
			
			System.out.println("归档." + dir + file.getName() + "/");
			
			byte[] bt = new byte[2048*2];
			
            TarEntry ze = new TarEntry(dir+file.getName());//构建tar实体
            //设置压缩前的文件大小
            ze.setSize(file.length());
            
            //ze.setName(file.getName());//设置实体名称.使用默认名称
            
            out.putNextEntry(ze);////将实体放入输出Tar流中
            
            FileInputStream fis = null;
            
            try{
            	
            	fis = new FileInputStream(file);
            	
            	int i=0;
                
                while((i = fis.read(bt)) != -1) {//循环读出并写入输出Tar流中
  
                    out.write(bt, 0, i);
                }

            }catch(IOException ex){
            	throw new IOException("写入归档文件出现异常",ex);
            }finally{
            	
            	try{
            		if (fis != null)
            			fis.close();//关闭输入流
            		out.closeEntry();
            	}catch(IOException ex){
            		
            		throw new IOException("关闭输入流出现异常");
            	}

            }           
		}
		
	}
	
	
	/**
	 * 解压tar File
	 * @param file 要解压的tar文件对象
	 * @param outputDir 要解压到某个指定的目录下
	 * @throws IOException
	 */
	public void unTar(File file,String outputDir) throws IOException {
		
		
		TarInputStream tarIn = null;
		
		try{
			
			tarIn = new TarInputStream(new FileInputStream(file),1024 * 2);
			
			createDirectory(outputDir,null);//创建输出目录
			
			TarEntry entry = null;
			
			while( (entry = tarIn.getNextEntry()) != null ){
				
				if(entry.isDirectory()){//是目录
					
					createDirectory(outputDir,entry.getName());//创建空目录
					
				}else{//是文件
					
					File tmpFile = new File(outputDir + "/" + entry.getName());
					
					createDirectory(tmpFile.getParent() + "/",null);//创建输出目录
					
					OutputStream out = null;
					
					try{
					
						out = new FileOutputStream(tmpFile);
						
						int length = 0;
						
						byte[] b = new byte[2048];
						
						while((length = tarIn.read(b)) != -1){
							out.write(b, 0, length);
						}
					
					}catch(IOException ex){
						throw ex;
					}finally{
						
						if(out!=null)
							out.close();
					}
					
				}
			}
			
		}catch(IOException ex){
			throw new IOException("解压归档文件出现异常",ex);
		} finally{
			try{
				if(tarIn != null){
					tarIn.close();
				}
			}catch(IOException ex){
				throw new IOException("关闭tarFile出现异常",ex);
			}
		}
		
	}
	
	
	/**
	 * 解压tar.gz 文件
	 * @param file 要解压的tar.gz文件对象
	 * @param outputDir 要解压到某个指定的目录下
	 * @throws IOException
	 */
	public void unTarGz(File file,String outputDir) throws IOException{
		
		TarInputStream tarIn = null;
		
		try{
			
			tarIn = new TarInputStream(new GZIPInputStream(
					new BufferedInputStream(new FileInputStream(file))),
					1024 * 2);
			
			createDirectory(outputDir,null);//创建输出目录
			
			TarEntry entry = null;
			
			while( (entry = tarIn.getNextEntry()) != null ){
				
				if(entry.isDirectory()){//是目录
					
					createDirectory(outputDir,entry.getName());//创建空目录
					
				}else{//是文件
					
					File tmpFile = new File(outputDir + "/" + entry.getName());
					
					createDirectory(tmpFile.getParent() + "/",null);//创建输出目录
					
					OutputStream out = null;
					
					try{
					
						out = new FileOutputStream(tmpFile);
						
						int length = 0;
						
						byte[] b = new byte[2048];
						
						while((length = tarIn.read(b)) != -1){
							out.write(b, 0, length);
						}
					
					}catch(IOException ex){
						throw ex;
					}finally{
						
						if(out!=null)
							out.close();
					}
					
				}
			}
			
		}catch(IOException ex){
			throw new IOException("解压归档文件出现异常",ex);
		} finally{
			try{
				if(tarIn != null){
					tarIn.close();
				}
			}catch(IOException ex){
				throw new IOException("关闭tarFile出现异常",ex);
			}
		}
		
		
		
	}
	
	/**
	 * 构建目录
	 * @param outputDir
	 * @param subDir
	 */
	public void createDirectory(String outputDir,String subDir){
		
		File file = new File(outputDir);
		
		if(!(subDir == null || subDir.trim().equals(""))){//子目录不为空
			
			file = new File(outputDir + "/" + subDir);
		}
		
		if(!file.exists()){
			
			file.mkdirs();
		}
		
	}
	
	/**
	 * 清理文件(目录或文件)
	 * @param file
	 */
	public void deleteDirectory(File file){
		
		if(file.isFile()){
			
			file.delete();//清理文件
		}else{
			
			File list[] = file.listFiles();
			
			if(list!=null){
			
				for(File f: list){
					deleteDirectory(f);
				}
				file.delete();//清理目录
			}
			
		}
		
	}
}


另利用这些,制作了一个java工具实现压缩(zip,tar,tar.gz,tar.bz2)功能.地址是http://lhxctc.iteye.com/blog/709492
  • ant.jar (1.3 MB)
  • 下载次数: 253
分享到:
评论
1 楼 hpuyancy 2014-04-19  
好像中文会乱码啊?

相关推荐

    ant操作7zip压缩、解压 tar.gz

    了解这些基础知识后,我们可以更有效地利用7-Zip和Ant处理文件压缩和解压,特别是在大型项目中,自动化这些过程可以显著提高工作效率。同时,理解XML配置文件如build.xml的内容,可以帮助我们定制化构建流程,满足...

    apache-ant-1.9.16-bin.zip

    在解压"apache-ant-1.9.16-bin.zip"后,你会得到一个名为"apache-ant-1.9.16"的目录,其中通常包含以下关键组件: 1. **bin** 目录:包含各种平台的可执行脚本,如`ant`和`ant.bat`,它们是Ant的命令行接口,用于...

    apache-ant-1.9.16-bin.tar.gz

    安装Apache Ant 1.9.16通常涉及解压下载的"apache-ant-1.9.16-bin.tar.gz"文件。 解压过程如下: 1. 首先,你需要下载这个压缩包,通常可以通过Apache官方网站获取。 2. 使用tar命令在Linux或macOS系统中解压文件:...

    apache-ant-1.10.5-bin.tar.gz 下载

    nt是Java的生成工具,是Apache的核心项目; Ant类似于Unix中的Make工具,都是用来编译、生成; Ant是跨平台的,而Make不能; Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac...

    apache-tomcat-9.0.0.M20-src.tar.gz

    "apache-tomcat-9.0.0.M20-src.tar.gz" 是一个包含了Tomcat 9.0.0版本M20的源代码的压缩包,适用于开发者进行深入学习、自定义配置或调试。 **Tomcat 9简介** Tomcat 9是Tomcat服务器的一个主要版本,支持Java EE 8...

    apache-ant-1.9.14.zip

    这个"apache-ant-1.9.14.zip"文件是Apache Ant的1.9.14版本,一个稳定的发行版,包含了运行Ant所需的所有组件。Ant的核心理念是基于XML的build文件,也就是"build.xml",它定义了构建过程中的任务和依赖关系。 1. *...

    apache官方ant-1.10.11版本压缩包

    这通常意味着解压缩后,你会得到一个名为"apache-ant-1.10.11"的目录,里面包含了Ant的所有组件,如bin目录(包含可执行脚本如`ant`和`ant.bat`),lib目录(包含Ant运行所需的jar文件),以及其他的文档、许可证和...

    apache-ant-1.7.1-src.zip_Apache Ant1.7_ant 1.7.1_ant1_apache ant

    Ant is distributed as zip, tar.gz and tar.bz2 archives - the contents are the same. Please note that the tar.* archives contain file names longer than 100 characters and have been created using GNU ...

    apache-ant-1.10.5-bin.zip包下载.txt

    apache-ant-1.10.5-bin.tar.gz 本地下载 云盘下载 官网下载

    利用ant api做的遍历并解压各种压缩文件格式的源代码

    利用ant api做的遍历并解压各种压缩文件格式的源代码 支持 zip, (当然) gzip tar gz bz2 bz 文件包括ant.jar, 源代码 有问题可以留言,我会及时回复 ziptest下面是用来做测试的目录。 请解压到 C:\temp\ziptest ...

    apache-tomcat-9.0.12-src.tar.gz

    1. 解压缩:使用tar命令解压此文件,例如`tar -zxvf apache-tomcat-9.0.12-src.tar.gz`,将得到源码目录。 2. 构建与安装:进入源码目录,按照README文件指示,使用Maven或Ant构建Tomcat,并将其安装到指定的系统...

    apache-ant-1.10.9-bin.tar.xz

    Apache Ant是基于Java的构建工具。ant/binaries

    apache-wink-1.4-src.tar.gz

    1. **解压文件**:首先,你需要使用解压工具(如tar命令在Linux或macOS,或7-Zip在Windows)来解压"apache-wink-1.4-src.tar.gz",这将生成一个名为"apache-wink-1.4-src"的目录。 2. **构建项目**:进入解压后的...

    ant-googlecode-0.0.2.jar.zip

    标题中的"ant-googlecode-0.0.2.jar.zip"是一个压缩文件,它包含了与Apache Ant和Google Code项目相关的组件。这个文件的版本是0.0.2,表明这是一个早期的开发版本,可能包含了一些实验性的特性或者修复了一些已知...

    Java压缩文件目录成ZIP包最新技巧

    1. **使用Apache Commons Compress库:** 这是一个非常强大的压缩工具库,不仅支持多种压缩格式(如zip、tar、gz等),还特别优化了中文文件名的支持。 2. **使用Apache Ant工具库中的Zip组件:** Apache Ant是一个...

    用ant来解压文件

    标题中的“用ant来解压文件”指的是使用Apache Ant这一开源构建工具来处理压缩文件,如.zip或.tar.gz等。Apache Ant是Java生态系统中的一个重要组件,它基于XML来定义项目构建过程,包括编译、打包、测试等任务。在...

    apache-ant-compress-1.5-src.tar.gz

    在这个例子中,`&lt;taskdef&gt;`引入了压缩库,`&lt;zip&gt;`和`&lt;untar&gt;`任务分别用于创建ZIP和解压TAR.GZ文件。 总结来说,Apache Ant的"compress"库是构建过程中处理压缩文件的强大工具,提供了一套全面的API和任务来简化这...

    apache-ant-compress-1.5-bin-withdeps.tar.gz

    总的来说,"apache-ant-compress-1.5-bin-withdeps.tar.gz" 提供了一个完整的Apache Ant环境,包含了处理压缩文件所需的组件。对于Java开发者来说,这是一款不可或缺的工具,可以帮助他们高效地管理和构建项目。通过...

    Hadoop编译所需jar包.zip

    包含:apache-ant-1.9.14-bin.tar.gz、apache-maven-3.5.4-bin.tar.gz、apache-tomcat-6.0.41.tar.gz、jdk1-8u231-linux-x64.tar.gz、protobuf-2.5.0.tar.gz、hadoop-2.7.1-src.tar.gz

    apache-ant-compress-1.5-bin.tar.gz

    这个"apache-ant-compress-1.5-bin.tar.gz"文件是Apache Ant的一个特定版本,1.5版本,打包成tar.gz格式,这是一种常见的在Unix/Linux系统中使用的归档和压缩方式。 Ant的核心理念是“一切都是任务”,它将构建过程...

Global site tag (gtag.js) - Google Analytics