`

java压缩----使用ANT JDK压缩---解决中文问题

 
阅读更多
import java.io.File;
import java.io.IOException;
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;

/**
 * @author 压缩指定的目录以及解压指定的压缩文件(仅限ZIP格式).
 */
public class ZipUtils {
	public final static String encoding = "GBK";   

	/**
	 * 1.可以压缩目录(支持多级)<br>
	 * 2.可以压缩文件<br>
	 * 3.如果压缩文件的路径或父路径不存在, 将会自动创建<br>
	 * 
	 * @param src
	 *            将要进行压缩的目录
	 * @param zip
	 *            最终生成的压缩文件的路径
	 */
	public static void zip(File src, File dest) throws IOException {
		Project prj = new Project();
		Zip zip = new Zip();
		zip.setProject(prj);
		zip.setDestFile(dest);
		FileSet fileSet = new FileSet();
		fileSet.setProject(prj);
		if (src.isFile()) {
			fileSet.setFile(src);
		} else {
			fileSet.setDir(src);
		}
		zip.addFileset(fileSet);
		zip.execute();
	}

	/**
	 * 将指定的压缩文件解压到指定的目标目录下. 如果指定的目标目录不存在或其父路径不存在, 将会自动创建.
	 * 
	 * @param zip
	 *            将会解压的压缩文件
	 * @param dest
	 *            解压操作的目录目录
	 */
	public static void unzip(File src, File dest) throws IOException {
		Project proj = new Project();
		Expand expand = new Expand();
		expand.setProject(proj);
		expand.setTaskType("unzip");
		expand.setTaskName("unzip");
		expand.setSrc(src);
		expand.setDest(dest);
		expand.setEncoding(encoding);//设置编码不能少,少了文件名会有乱码
		expand.execute();
	}

	



	public static void main(String[] args) {
		// D:\\evidence\\20120712\\重生回到1997_2012071213114144\\言情小说吧_www.xs8.cn
		try {
			ZipUtils
					.zip(
							new File(
									"D:\\evidence\\20120712\\重生回到1997_2012071213114144\\言情小说吧_www.xs8.cn"),
							new File(
									"D:\\evidence\\20120712\\重生回到1997_2012071213114144\\言情.zip"));
			
			
			
			ZipUtils
			.unzip(new File(
			"D:\\evidence\\20120712\\重生回到1997_2012071213114144\\言情.zip"),new File(
			"D:\\test\\"));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

分享到:
评论
3 楼 ijlkdwg 2013-02-19  
你把那个.jar 包共享出来呀!
2 楼 qingfeng825 2012-07-31  
不好意思啊,我只在window下试着没有问题,没有在linux上测试
1 楼 Gosi_ 2012-07-27  
把编码改成gbk以后在windows下中文文件名不会再乱码,但是放到linux上还是会乱码,不知道博主有没有测试过,我现在遇到了这样的问题。

相关推荐

    java-unrar-0.5.jar、commons-logging-1.2.jar和ant-1.6.5.jar

    Java解压缩技术是Java开发中常见的一种操作,特别是在处理数据传输和存储时。在这个场景中,我们关注的是三个特定的Java库:`java-unrar-0.5.jar`、`commons-logging-1.2.jar`和`ant-1.6.5.jar`,它们在处理ZIP和RAR...

    java压缩zip文件解决中文乱码问题

    例如,你可以使用Ant的`&lt;zip&gt;`任务来创建ZIP文件,通过指定`encoding`属性来解决中文乱码问题: ```xml &lt;zip destfile="output.zip" encoding="UTF-8"&gt; **/*"/&gt; ``` 在这个Ant脚本中,`&lt;zip&gt;`任务会...

    JDK ZipEntry压缩中文文件名乱码解决

    项目中碰到问题.jdk zipEntry 压缩中文文件名乱码  上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项.  第二种 就是拿来主义,因为 开源项目 Ant 里已经有...

    apache-ant-1.10.5.rar

    在这个过程中,通常需要与Java Development Kit (JDK) 1.8版本配合使用,因为JDK提供了必要的编译和打包工具,比如javac编译器和jar打包工具。Ant通过调用这些工具,按照预设的规则和指令完成打包任务。 在使用Ant...

    apache-ant-1.9.9.zip

    标题中的"apache-ant-1.9.9.zip"表明这是一个包含Apache Ant 1.9.9版本的压缩文件,适合在Mac终端上使用,并且已经过实际测试,确保了其兼容性和易用性。 Apache Ant的核心概念是任务(Task),这些任务是构建过程...

    eclipse-java-2019-12-M1-win32-x86_64.zip

    - 安装Java Development Kit (JDK),因为Eclipse依赖JDK来编译和运行Java程序。 - 配置JDK路径,确保Eclipse能找到Java运行环境。 - 根据需要自定义Eclipse的工作空间,工作空间是保存项目和个人设置的地方。 - 安装...

    apache-ant-zip.jar包及用法

    apache-ant-zip.jar包及用法 用过java做压缩或解压的都知道,jdk提供的zip只能按UTF-8格式处理,所有jdk提供的zip不能支持中文文件名,可以采用Apache的zip包解决中文文件名问题。

    利于apache提供的ant包压缩文件

    Ant不仅可以用于压缩文件,还可以与各种Java工具,如JDK的Javadoc和JAR工具,以及Maven、Gradle等现代构建工具集成,实现更复杂的构建流程。 7. **源码管理和版本控制**: 在开发环境中,Ant构建脚本常与源码一起...

    apache-ant-1.9.6.rar

    11. **使用与安装**:解压缩"apache-ant-1.9.6.rar"后,将包含bin目录的路径添加到系统PATH环境变量中,然后可以通过命令行运行`ant`命令来执行构建。 12. **扩展与插件**:Ant支持通过Ant-Contrib库添加额外的任务...

    jdk-8u151-nb-8-2-linux-x64

    标题“jdk-8u151-nb-8-2-linux-x64”指的是Java Development Kit(JDK)的一个特定版本,适用于Linux操作系统且为64位架构。这个版本是Oracle JDK 8的更新151,同时集成了NetBeans IDE 8.2。NetBeans是一个流行的...

    java环境部分资源与图片压缩工具

    在实际使用中,首先需要下载并安装Java开发环境,包括JDK(Java Development Kit),确保系统环境变量配置正确,使得`javac`和`java`命令能在命令行中使用。接着,安装Ant,通常将其解压到指定目录,并在环境变量...

    解压zip压缩文件,支持多文件目录解压,中文乱码问题

    在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...

    ANT安装与使用教程

    ANT的安装配置过程包括下载和解压缩ANT安装包、配置环境变量和PATH变量三个步骤。 1. 下载apache-ant-1.8.3-bin.zip安装包,并解压缩到D:\Program Files目录下,重命名为apache-ant-1.8.3。 2. 配置环境变量,打开...

    Ant使用指南-Ant入门手册

    要在计算机上安装 Ant,首先需要确保已经安装了 Java 运行环境(JRE)或 Java 开发工具包(JDK)。接下来按照以下步骤进行: 1. **下载 Ant**:访问 Ant 的官方网站 (https://ant.apache.org/) 下载最新版本的 Ant...

    ant-nodeps.jar.zip

    标题“ant-nodeps.jar.zip”指的是一个压缩文件,其中包含了Ant构建工具的一个特定版本,去除了外部依赖的jar包。这个文件的目的是为了方便开发者在没有其他额外库的情况下使用Ant。Ant是一个Java编写的开源构建工具...

    .Ant安装编译操作手册

    - **编写目的**:本文档旨在指导软件发布人员如何正确安装与配置Apache Ant,解决在安装与使用过程中可能遇到的问题,确保能够顺利地使用Ant对Flex/Java工程项目进行自动化编译与打包。 #### 二、环境说明 - **Ant...

    java ant详细介绍

    3. 解压缩Ant的安装包到一个方便的位置,例如D:\ant-1.6。 4. 设置ANT_HOME环境变量,并将ANT_HOME/bin添加到PATH环境变量中。 5. 验证Ant安装是否成功,通过命令行运行ant命令,如果显示"Buildfile: build.xml does...

    Java的Build工具Ant.doc

    1. **安装Ant**:首先从Apache官方网站下载Ant的zip或tar.gz文件,解压缩后设置环境变量`JAVA_HOME`指向JDK的安装路径,`ANT_HOME`指向Ant的安装路径,并将`ANT_HOME/bin`添加到系统PATH中。 2. **配置Ant**:在...

    java压缩zip文件中文乱码问题解决方法

    总之,解决Java压缩ZIP文件中文乱码问题的关键在于使用支持设置编码的第三方库,并在处理中文内容和注释时明确指定正确的字符编码。这样,无论在何种编码环境中,都能确保中文字符正确无误地被压缩和解压。

Global site tag (gtag.js) - Google Analytics