用Java压缩文件解决没有中文问题示例

开发 后端
本文将介绍如何用Java压缩文件解决没有中文问题,甚至可以写一个winzip之类的东东哦,有兴趣的可以研究一下。

使用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();
             }
     }
  }

【编辑推荐】

  1. JavaOne 2009第三天:微软与 Sun/Oracle携手并进
  2. 开发高可移植性J2ME的软件
  3. Java虚拟机(JVM)中的内存设置详 解
  4. Java 中的堆内存与栈内存分配浅析
  5. 非常 全面的实用JavaScript开发工具列表
责任编辑:王观 来源: 百家编程
相关推荐

2010-11-30 10:28:49

QTreeWidgetQt

2010-03-03 13:32:08

Python压缩文件

2013-07-18 14:16:14

ZipArchive压iOS开发

2009-12-25 17:55:05

Linux tar

2009-12-16 16:11:14

Linux压缩文件

2009-11-30 09:31:41

Windows 7文件解压

2018-09-14 16:18:26

Linux压缩文件应用程序

2022-07-04 08:03:08

Go压缩打包

2012-05-10 09:43:28

2011-04-08 09:42:19

Access数据库压缩文件

2020-11-08 14:37:46

Python压缩文件代码

2009-12-03 14:10:06

PHP压缩文件夹

2015-08-07 10:02:34

Java线程池递归

2020-05-07 09:18:57

Linux压缩文件命令

2009-04-27 13:46:30

网络管理拷贝故障

2019-04-26 09:50:21

Linux压缩文件文件夹

2011-09-15 10:12:11

ubunturar

2019-10-24 08:52:23

Linux压缩文件归档

2019-02-26 13:39:55

Windows 10压缩文件夹密码保护

2023-06-01 09:38:27

微软WinRARWindows 11
点赞
收藏

51CTO技术栈公众号