使用Java自带的类 java.util.zip进行文件/目录的压缩的话,有一点不足,不支持中文的名件/目录命名,如果有中文名,那么打包就会失败。本人经过一段时间的摸索和实践,发现在一般的Ant.jar类库中也有zip类,import org.apache.tools.zip.*,能够解决不支持中文文件目录的问题,同时,Ant的获得途径也比较多,一般的应用服务器中有这个包,实在不行去下载个tomcat5.X,里面也有ant.jar,本人经过测试,可以使用。
import java.io.*; import java.util.zip.*; /** * @version Version 1.3 */ public class w0514{ public static void main(String[] args){ try{ BufferedReader in=new BufferedReader( new InputStreamReader(new FileInputStream(args[0]),"ISO8859_1")); FileOutputStream f=new FileOutputStream(args[1]+".zip"); CheckedOutputStream ch=new CheckedOutputStream(f,new CRC32()); ZipOutputStream out=new ZipOutputStream( new BufferedOutputStream(ch)); int c; out.putNextEntry(new ZipEntry(args[0])); while((c=in.read())!=-1) out.write(c); in.close(); out.close(); } catch(Exception e){ e.printStackTrace(); } } } |
【编辑推荐】
- JavaOne 2009第三天:微软与 Sun/Oracle携手并进
- 开发高可移植性J2ME的软件
- Java虚拟机(JVM)中的内存设置详 解
- Java 中的堆内存与栈内存分配浅析
- 非常 全面的实用JavaScript开发工具列表