热列祝贺:中国共产党第十七次全国代表大会胜利闭幕   颜色主题:   网页游戏 软件下载 软件文章 常用网址 自助友情
 首页程序设计数据库操作系统办公系列WEB开发项目专题网络安全图形图像站点地图友情链接
 您的位置: >首页 >程序设计 >Java >未分类 >java解zip压缩 和 把目录压缩为ZIP文件
  文章搜索
按名称 按简介
  本类推荐
· HTML转PDF (不支持中文)
· 缩小图片的高和宽
· Java异常处理--尽量不要从tr...
· Java的数组(Array)、Vector...
· 一个简单的用JAVA实现的屏幕抓...
· JAVA国际化DEMO
· java 面试中的一道编写一个截...
· Vector在Java编程中的应用
· 浅析Java中Data类的应用
· 深入研究Servlet线程安全性问题
  本类排行
· java解rar压缩
· 删除文件夹下的所有文件
· java解zip压缩 和 把目录压缩...
· 在eclipse + MyEclipse下配置...
· HTML转PDF (不支持中文)
· java中文问题(原创)
· JAVA中通过JDBC访问MS SQLServ...
· weblogic——远程/近程调用EJB...
· 避免重启你的应用程序 一
· 把数据写入Excel文件中
· java锁住一个文件(独占方式访...
· java实现URL带参数请求(get/po...
· Hibernate获得成功的十大理由
· EJB3 and Hibernate3 Annotati...
· Java中的“数据集”
· EJB3 and Hibernate Annotatio...
· 一篇关于session的好文!
· JDBC基础知识(1)
· 避免重启你的应用程序 二
· java实现URL带参数请求(get/po...
· Struts控制器组件
· MyEclipse开发Struts框架的Hel...
· 小谈JDBC中的连接与连接池
· 反醒一下,兼java.lang的一点点...
· 利用JSP获取网页源文件并抓取...
· Java参数传递的一些心得
· Java源码分析:深入探讨Iterat...
· So what are inner classes go...
· SQL Server2000+JDBC常见问题...
· java.net.InetSocketAddress翻译
· JAVA对数字证书的常用操作
· 我翻译的J2EE平台安全(原著是...
· 在 Java 应用程序中访问USB设备
· 得到一张图片的宽度和高度
· 缩小图片的高和宽
· Java的数组(Array)、Vector...
· 深入研究Servlet线程安全性问题
· Java新手上路大全(初学必看)
· JAVA国际化DEMO
· Java异常处理--尽量不要从tr...
· 浅析Java中Data类的应用
· Vector在Java编程中的应用
· Java Applet 入门(目录)
· 一个简单的用JAVA实现的屏幕抓...
· Java学习从入门到精通 3过程篇
· java 面试中的一道编写一个截...
· Java打印程序设计全攻略
· Java学习从入门到精通 2书籍篇
· Eclipse 3.0 简介和插件开发示例
· Java学习从入门到精通 1工具篇
java解zip压缩 和 把目录压缩为ZIP文件

使用java.util.zip解ZIP文件压缩,但不只,为何文件名不支持中文,如果那位高手知道,请告诉我,哈哈,谢谢
String compress ="D:/doc_c06_net.zip";//zip压缩文件

String decompression="D:/doc_redcome_com/";//解压路径

java.io.File dir =new java.io.File(decompression);

java.util.zip.ZipFile zf = new java.util.zip.ZipFile(compress);

java.util.Enumeration enumer = zf.entries();

while (enumer.hasMoreElements())
{
  
    java.util.zip.ZipEntry ze = (java.util.zip.ZipEntry) enumer.nextElement();
    
    String zename = ze.getName();
    
    zename = new String(zename.getBytes("ISO-8859-1"), "UTF-8");//文件名,不支持中文.
    
    System.out.println(zename);
    
    if (ze.isDirectory())
    {
        java.io.File file = new java.io.File(dir.getAbsolutePath() + "/" + zename);
        
        file.mkdirs();
    } else
    {
        java.io.File file = new java.io.File(dir.getAbsolutePath() + "/" + zename).getParentFile();
        
        if (!file.exists())
        {
            file.mkdirs();
        }
        byte zeby[] = new byte[(int) ze.getSize()];
        
        java.io.InputStream is = zf.getInputStream(ze);
        
        is.read(zeby);
        
        is.close();
        
        java.io.FileOutputStream fos = new java.io.FileOutputStream(dir.getAbsolutePath() + "/" + zename);
        
        fos.write(zeby);
        
        fos.close();
    }
}
zf.close();

使用java.util.zip,把目录压缩为ZIP文件
public static void main(String args[])
{
  String compress ="D:/doc_c06_net/";//要压缩的目录
  
  String decompression="D:/doc_redcome_com/";//解压路径
  
  java.util.zip.ZipOutputStream zos =  new java.util.zip.ZipOutputStream(new java.io.FileOutputStream(new java.io.File(decompression)));
  
  compress(zos,file,"");
  
  zos.close();
}
public void compress(java.util.zip.ZipOutputStream zos,java.io.File file,String context)throws java.io.IOException
{
    if(file.isFile())
    {
      byte by[] = new byte[(int) file.length()];
      
      java.io.FileInputStream is = new java.io.FileInputStream(file);
      
      is.read(by);
      
      is.close();

      java.util.zip.ZipEntry ze=new java.util.zip.ZipEntry(context+file.getName());
      
      zos.putNextEntry(ze);
      
      zos.write(by);
      
      zos.closeEntry();
    }else
    if(file.isDirectory())
    {
      java.io.File files[]=file.listFiles();
      
      if(files!=null)
      for(int index=0;index<files.length;index++)
      {
        compress(zos,files[index],context+"/"+file.getName()+"/");
      }
    }
}
  相关软件
·WinRAR v3.71 汉化版
·Real10 压缩器 v1.0
·WinZip v11.1
·DJ Java Decompiler v3.10.10.93
·Jext v5.0.1 for Windows
·GodeZIP v8.0
·BraZip v7.0
·北斗程序压缩 v2.3
·ZipScan v2.2
·Real压缩快车 v2.5
  相关文章
·反醒一下,兼java.lang的一点点东西
·java锁住一个文件(独占方式访问)
·java实现URL带参数请求(get/post)
·java中文问题(原创)
·JAVA中通过JDBC访问MS SQLServer2000的常见问题
·Java中的“数据集”
·java实现URL带参数请求(get/post)
·Java源码分析:深入探讨Iterator模式
·JAVA对数字证书的常用操作
·Java参数传递的一些心得
下载帮助 发布软件 自助友情 友情链接 网站导航 广告服务 法律声明 联系我们
六世下载 版权所有 ©2005-2007
本站的数据收集于网络,版权归原作者及出版社所有 如果您觉得侵犯了您的版权请来信告诉我们,我们会尽快删除其内容!
鲁ICP备05050400号