使用java实现压缩/解压(可以解决中文乱码)

此方法可以处理文件名中含有中文、文件内容中含有中文的情况(测试环境:win8-Chinese),代码很短,留着以备后用

使用了ant.jar包,需要单独下载并导入的项目中方可使用(org.apache.tools.ant这个包就是),下载完成后在里边找到ant.jar包直接复制出来并导入

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;

class ZipUtil {
    private static final Project DEFAULT_PROJECT = new Project();

    public static void unZip(File orgin, File dest) {
        Expand expand = new Expand();
        expand.setProject(DEFAULT_PROJECT);
        expand.setSrc(orgin);
        expand.setDest(dest);
        expand.execute();
    }

    public static void zip(File orgin, File dest) {
        Zip zip = new Zip();
        zip.setProject(DEFAULT_PROJECT);
        zip.setDestFile(dest);

        FileSet fs = new FileSet();
        fs.setProject(DEFAULT_PROJECT);
        fs.setDir(orgin);
//      fs.setIncludes("**/*.java");
//      fs.setExcludes("**/*.xml");

        zip.addFileset(fs);
        zip.execute();
    }
}
时间: 2024-12-28 22:26:46

使用java实现压缩/解压(可以解决中文乱码)的相关文章

java对 zip文件的压缩和解压(ant解决中文乱码)

说明: 1.对于压缩的文件,当文件名称是中文时,若使用JDK API中自带的类(java.util.zip.ZipEntry; java.util.zip.ZipOutputStream;)进行压缩,压缩完成后,可以看到压缩包中的文件名称是乱码(文件的内容无乱码),所以使用ANT中的ant.jar中的类(org.apache.tools.zip.ZipEntry; org.apache.tools.zip.ZipOutputStream;)用来解决此问题: 2.解压缩时,如果压缩包中为空,则创建

java zip压缩和解压(支持中文)

package com.xeon.mis.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.Enumeration; impor

Ubuntu中解决解压zip文件中文乱码问题

1. 通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936" ZIPINFO="-O CP936"Ubuntu中解决解压zip文件中文乱码问题

ubuntu解压zip文件中文乱码问题

通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip 注:xxx.zip为需要解压的文件名 ubuntu解压zip文件中文乱码问题

实现Java代码压缩解压

原因:某个时间想对服务器上的zip中的某些文件进行修改 本来以为很简单的事情,在网上找了好些代码,结果效果都不是很理想. 实现对象:对各种类型的文件夹(包含子文件或子文件夹) 下面介绍一下自己综合网上代码自己写的 首先要倒入一个jar包:(零积分下载) package com.tzx.test2; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import org.ap

Java基础-压缩解压

几种实现方案 #1.基于java.util.zip: #2.使用zip4j #3.使用org.apache.tools.ant 示例代码 测试代码 <!-- Java zip > zip4j > apache ant --> /** * 方式1 * -基于: java.util.zip * ---https://github.com/Blankj/AndroidUtilCode * ---https://github.com/SearchSunny/Android-zip- * s

java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)

转载地址:http://www.cnblogs.com/xdp-gacl/p/3952405.html 在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装饰器)模式对request.response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求. 一.Decorator设计模式 1.1.Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强: 编写子类,覆盖需增强的

Ubuntu解压zip包中文乱码

解决方法:通过unar 工具解压 步骤一: 安装unar: sudo apt-get install unrar 步骤二: 解压(以test.zip为例):unar test.zip 解压成功,乱码问题解决. 附  unar用法选项: e             解压文件到当前目录  l[t,b]        列出压缩文档信息[technical, bare]  p             打印文件到标准输出  t             测试压缩我俄当  v[t,b]        列出压缩

Java HttpURLConnection模拟请求Rest接口解决中文乱码问题

转自:http://blog.csdn.net/hwj3747/article/details/53635539 在Java使用HttpURLConnection请求rest接口的时候出现了POST请求出现中文乱码的问题,经过把传入的String通过多种方法进行编码发现都解决不了,如下: String teString=new String("你好".getBytes("ISO-8859-1"),"UTF-8"); 网上HttpURLConnec