- 浏览: 1754979 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (528)
- java基础 (35)
- oracle (23)
- 项目管理 (10)
- 代码架构 (27)
- java线程与进程 (2)
- 盈利模式 (10)
- 性能测试 (1)
- Ophone (2)
- web (6)
- asp (0)
- php (1)
- c# (1)
- Ruby (0)
- jboss (4)
- java基础之面试篇 (7)
- 数据查询优化 (1)
- weblogic (3)
- EJB (1)
- EXT (6)
- jquery (8)
- struts2 (2)
- struts1 (1)
- css (1)
- javascript (4)
- SSI (9)
- linux (9)
- c++ (6)
- 网络安全 (3)
- swing (2)
- 嵌入式 (1)
- 图像处理(机器人智能技术) (1)
- vb (2)
- mysql (2)
- sqlserver (10)
- dephi (0)
- Android (4)
- hadoop (1)
- maven (4)
- mybatis (1)
- html5 (1)
- 算法 (0)
- 高并发架构总结 (1)
- 时事评论 (4)
- 有些话不能不说 (35)
- 琴棋书画 (0)
- 教育 (1)
- 创业需要的 (4)
- 产品经理需要的 (4)
- 小南那些青涩的文章 (9)
- 如何创新 (4)
- 历史借鉴之秦汉 (1)
- 历史借鉴之三国 (1)
- 历史借鉴之魏晋 (1)
- 历史借鉴之隋唐 (1)
- 历史借鉴之南北宋 (1)
- 历史借鉴之近现代史 (1)
- 好工具我来推荐 (4)
- 汇编 (14)
最新评论
-
bilimeng:
求教,ConcurrentHashMap不是线程安全的么,为啥 ...
架构师之jdk8-----------------ConcurrentHashMap快速构建本地缓存和单例模式 -
baiducctv5:
wtaisi 写道wtaisi 写道|||||||||
spring aop中的propagation的7种配置的意思 -
zhangdong92:
另外内存泄漏一般也不是指计算时溢出。而是指某些对象已经不再使用 ...
java基础之面试篇三---int,float,long,double取值范围,内存泄露 -
zhangdong92:
Long.MAX_VALUE应该是(2^63)-1,而不是64 ...
java基础之面试篇三---int,float,long,double取值范围,内存泄露 -
nannan408:
java-lxm 写道好湿好湿好湿谢谢: )。
游南巅之晚秋
package ejbModule.util; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.zip.Adler32; import java.util.zip.CheckedOutputStream; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; /** * 文件压缩(支持中文文件名) * * @author gaoyusi * */ public class FileHelper { /** * 中文条件下文件(夹)压缩 * * @throws IOException */ public static void zipCompress(String src, String des) throws IOException { ZipOutputStream out = null; try { CheckedOutputStream cusm = new CheckedOutputStream( new FileOutputStream(des), new Adler32()); out = new ZipOutputStream(new BufferedOutputStream(cusm)); fileZip(new File(src), out, ""); } finally { if (out != null) { out.close(); } } } private static void fileZip(File file, ZipOutputStream out, String base) throws IOException { if (file.isFile()) { if (base.length() > 0) { out.putNextEntry(new ZipEntry(base)); } else { out.putNextEntry(new ZipEntry(file.getName())); } BufferedReader in = new BufferedReader(new InputStreamReader( new FileInputStream(file), "ISO8859_1")); int c; while ((c = in.read()) != -1) { out.write(c); } in.close(); } else if (file.isDirectory()) { File[] subFiles = file.listFiles(); out.putNextEntry(new ZipEntry(base + File.separator)); base = base.length() != 0 ? base + File.separator : ""; for (File subFile : subFiles) { fileZip(subFile, out, base + subFile.getName()); } } } public static void main(String[] args) throws IOException { FileHelper.zipCompress("d:\\test","d:\\test1.zip"); } }
注意引入Ant.jar.
发表评论
-
java 序列化和反序列化(针对字符串的例子)
2014-11-04 14:09 42221.前言. 摘自:http://blog.csdn.ne ... -
java的addall和system.arraycopy的效率对比
2014-07-11 18:22 13931.前言。 如题。 2.对比。 addall ... -
java时间转换总结
2014-07-01 09:35 27851.如题。 后续将时间问题都放本篇。 2.java时间处理 ... -
System.arraycopy把多个byte数组合并为一个byte数组,节省空间。
2014-05-22 14:34 53161.前言。 如题。 2.代码。 publi ... -
jdk5后并发线程优雅的创建方式ExecutorService+Callable比thread和runable两种方式简单和实用,可以替代后两者。
2014-01-23 16:48 22501.前言。 如题。ExecutorService可用在并 ... -
eclipse指定jvm路径,在没有配置jvm环境变量的时候可直接打开。
2014-01-10 15:37 23511.前言。 如题。 2.代码。 这个写在eclipse.i ... -
java如何最小值int变成最大值?可作为字符串排序使用
2013-11-30 00:29 22251.前言。 如题。 2.例子,可以直接运行。 p ... -
Myeclipse copy的工程无法发布的问题-Exploded location overlaps an existing deployment
2013-06-09 09:16 11051.前言。 直接copy,直接在Myeclipse下面 ... -
Comparator和Comparable在排序中的应用
2012-11-06 10:53 931Comparator可以实现数组排序,与原类没有很大耦合。 ... -
Myeclipse6.5不能启动和运行缓慢、运行错误的一些问题总结
2012-03-15 11:32 2120Myeclipse6.5对1.6支持部好,最好把ec ... -
为什么new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径
2012-01-04 23:27 70264FileOutPutStream在c盘等一级目录 ... -
如何让页面一打开就远程自动下载文件
2012-01-03 19:52 2779在页面或者后台response,直接用文件头加你的文件,文件流 ... -
java如何打包zip等压缩文件
2012-01-03 19:35 2353直接调用jdk的类可以了。 package javai ... -
myclipse的export失败的一个问题
2011-09-25 12:48 1349在用eclipse将工程导出为jar或者可 ... -
Java如何定义三维数组
2011-09-10 20:21 12605java 定义三维数组,有很多方法,这里举两种: 1.直接定 ... -
一个Myeclipse视图跑出来,脱离窗口的问题
2011-02-13 17:16 3985也许经常使用Myeclipse的程序员会发现,视图窗口有 ... -
Map和Properties的遍历例子
2010-12-19 23:18 1263prperties的遍历有点麻烦,map的遍历有entrySe ... -
StringBuffer和Double.ValueOf一起用导致的错误
2010-12-04 16:36 2537StringBuffer虽然是同步的,然而如果不注意它的 ... -
线程wait和notify的针对每个线程,实现·随时暂停和唤醒
2010-11-25 12:55 1763多线程的利用在进行进程调度中具有重要的意义,是java的 ... -
Unicode和汉字的相互转化
2010-11-08 22:23 1401import java.util.regex.Matcher; ...
相关推荐
这个名是名离自ant原码的,由于java.util.zip处理中文文件名时有问题可以用这个包代替那个使用就不会有中文问题了,我加了一个ZipTool.java,这个就是一个示例文件和方法打包文件。 <br>特点: 一、自有原码不...
项目中碰到问题.jdk zipEntry 压缩中文文件名乱码 上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项. 第二种 就是拿来主义,因为 开源项目 Ant 里已经有...
apache-ant-zip.jar包及用法 用过java做压缩或解压的都知道,jdk提供的zip只能按UTF-8格式处理,所有jdk提供的zip不能支持中文文件名,可以采用Apache的zip包解决中文文件名问题。
随便写的,大家看看吧。java.util.zip包的下Zip不支持中文文件名,不过ant.jar下支持(可以去官网下)。原理差不多,代码也是差不多。
解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。...
解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。...
我整理了一下,把ZIP包的原码重新编译,不要ant.jar,将压缩和解压放在ZipTool.class包中支持中文文件名,支持针对目录压缩,做了上传后自动解压测试! <br>特点: 一、自有原码不依赖ant.jar 二、支持中文...
解决中文文件名乱码的jar.从最新ANT1.8里提取出来打的包
1、指定文件可下载并且服务器端会删除此文件。 2、指定文件夹(文件夹中必须有一个文件),程序会自动的压缩文件为 zip,然后下载删除源文件与压缩文件...注意一点:中文的文件名会出现乱码(解决方案:导入ant.jar)
1. java提供的类对于包括有中文字符的路径,文件名支持不够好,你用其它第三方软件解压的时候就会存在乱码。而ant.jar就支持文件名或者路径包括中文字符。 2. ant.jar提供了强大的工具类,更加方便于我们对压缩与...
注: FileSet的setIncludes, 和setExcludes方法输入pattern, pattern是一个使用“,”或空格分隔的匹配字符串,其中, “**”代表所有文件或目录,“*.*”代表说有文件, “*.java”代表所有扩展名为java的文件。...
这样解决了文件上传的中文乱码问题. 但是在控制台显示的中文内容还是乱码,但是没关系,我们没必要去看控制台下的中文 ----------------------------------------------------------------another FCKeditor2.4.2 ...
类似ant可以变量引用,引用环境变量使用${env.JAVA_HOME}, 引用System.getProperties()直接引用 2.自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"dir"后缀 示例: pkg=...
程序可以采用 JAVA 开发,但是因为它的虚拟机 (Virtual Machine) Dalvik ,是将 JAVA 的 bytecode 转成 自 己的格式,回避掉需要付给 SUN 有关 JAVA 的授权费用。 对手机制造者的影响 � Android 是款开源的移动计算...