当前位置:  技术问答>java相关

怎样用java快速实现zip文件的压缩解压缩?(给分20!)

    来源: 互联网  发布时间:2015-02-07

    本文导语:  我使用两种方法从zip文件中读取数据,第一种的代码是从“UTF开始”到“UTF结束”,看到有人(http://www.csdn.net/develop/article/6839.shtm)介绍过这种用法,但是我用的时候,出现java.io.UTFDateFormatException异常,我跟踪调试的...

我使用两种方法从zip文件中读取数据,第一种的代码是从“UTF开始”到“UTF结束”,看到有人(http://www.csdn.net/develop/article/6839.shtm)介绍过这种用法,但是我用的时候,出现java.io.UTFDateFormatException异常,我跟踪调试的时候,发现问题出现在读取的时候,写是可以的。
第二种的代码是从“int开始”到“int结束”,可以正确解压缩各种文件(二进制读取,应该也没问题的),但是速度很慢,请问各位大虾,有没有什么办法解决?
代码如下:
……
String doc="";
zin = new ZipInputStream(new FileInputStream(待解压缩文件));
while(((entry = zin.getNextEntry()) != null)&&!entry.isDirectory())
    {
     FileOutputStream fout = 
          new FileOutputStream(解压缩后的文件名);
     DataOutputStream dout = new DataOutputStream(fout);
     DataInputStream in = new DataInputStream(zin);
     /*
     //UTF开始
     doc=in.readUTF();
     in.close();
     dout.writeUTF(doc);
     dout.close();
     //UTF结束
     */
     //int开始
     int c;
     while((c = in.read()) != -1)
      dout.write(c);
     dout.close();
     //int结束
     fout.close();
     zin.closeEntry();
     System.out.println("Close entry successful!");
     }
    zin.close();
……

|
/*
** a simple unZIP tool
**
** ex.  java UnZip file.zip file1   to unzip file 1 from file.zip
**      java UnZip file.zip         to unzip file.zip 
**
*/
import java.io.*;
import java.util.*;
import java.util.zip.*;
import java.text.*;

class UnZip {
  public static void main(String args[]) throws IOException {
    InputStream in = new BufferedInputStream(new FileInputStream(args[0]));
    ZipInputStream zin = new ZipInputStream(in);
    ZipEntry e;

    while((e=zin.getNextEntry())!= null) {
      if (args.length > 1) {
        if (e.getName().equals(args[1])) {
           unzip(zin, args[1]);
           break;
          }
        }
       unzip(zin, e.getName());
      }
    zin.close();
    }
    
  public static void unzip(ZipInputStream zin, String s) throws IOException {
    System.out.println("unzipping " + s);
    FileOutputStream out = new FileOutputStream(s);
    byte [] b = new byte[512];
    int len = 0;
    while ( (len=zin.read(b))!= -1 ) {
      out.write(b,0,len);
      }
    out.close();
    }
  }
 

===================================================
/*
** a simple ZIP tool
**
** ex.  java Zip file.1 file.2 > file.zip
**
*/
import java.io.*;
import java.util.zip.*;

class Zip {
  public static void main(String args[]) throws IOException {
    byte b[] = new byte[512];
    ZipOutputStream zout = new ZipOutputStream(System.out);
    for(int i = 0; i  0) {
        long csize = e.getCompressedSize();
        long ratio = ((size-csize)*100) / size;
        err.println(" (deflated " + ratio + "%)");
        }
      else {
        err.println(" (deflated 0%)");
        }
      }
    else {
      err.println(" (stored 0%)");
      }
    }
  }

    
 
 

您可能感兴趣的文章:

  • 请教如何在Java中使用arj压缩的文件(压缩和解压缩)Linux下面
  • Java压缩工具 BiGZiP
  • Java实现的压缩包 jazzlib
  • Java 声音压缩库 JSpeex
  • java下怎么把BufferedImage转成jpg,关键是如何设置jpg的压缩比。
  • Java压缩处理类库 ZeroTurnaround
  • 请问有没有LZSS加解压缩JAVA算法
  • java 有用于图像压缩的包吗?
  • Java中如何调用cmd压缩文件
  • 我想在用Java对若干文件打包,象Linux中的tar文件,不用压缩!!怎么做?
  • 请教:关于java中的压缩处理
  • Java 文件解压缩实现代码
  • 各位大侠知道怎么用 java.util.zip 类压缩一个目录(包括子目录里文件)吗?项目要交了,谁能帮我忙我给500分!~!(分五次给)
  • Java压缩文件ZIP实例代码
  • java压缩zip文件中文乱码问题解决方法
  • 通过java api实现解压缩zip示例
  • java生成压缩文件示例代码
  • 利用Java实现zip压缩/解压缩
  • java实现压缩字符串和java字符串过滤
  • java压缩多个文件并且返回流示例
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • java.util.Date 和 java.slq.Date 如何最简单实现互换?
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 求救!!如何在java程序中调用外部非java的exe文件? iis7站长之家
  • java实现判断字符串是否全是数字的四种方法代码举例
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java序列化实现Serializable接口
  • 我是java新手,请问java中与平台相关的操作是怎样实现的
  • java中Spring框架介绍及如何实现对Bean的管理
  • java文件复制代码片断(java实现文件拷贝)
  • java Servlet实现Session创建存取以及url重写代码示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • JAVA编译的CLASS文件可以反编译为JAVA文件吗?
  • 保存java.sh文件时,多出一个java.sh~文件
  • 用什么工具可以把JAVA的.CLASS文件反编译成.JAVA文件??
  • 请问把.class文件反编译为.java文件的工具有什么???能恢复到原来的.java文件吗???
  • 一个.java文件中怎样来调用另一个.java文件中的变量及其它东西!
  • 用java读中文linux中的文件是正确的,用java读英文linux版本中的文件是乱码,如何使英文linux读出的文件数据也是中文的?
  • java读取csv文件示例分享(java解析csv文件)
  • 我刚学java,想请教一下,我在文本中创建了一个接口,一个类,还有一个扩展类,保存为.java文件时,如何给文件名?
  • 请教:有没有把java编译好的.java和.class文件编译成各个平台下的可执行文件??.exe?着急着急
  • java文件操作之java写文件简单示例
  • java复制文件和java移动文件的示例分享
  • java读取文件内容的三种方法代码片断分享(java文件操作)
  • 编译前的java文件没有,只有class文件
  • 我用java编了一个程序,是多个java文件,属于一个包,需要联编,但我不会
  • 低级问题:.java文件交付用户怎么运行,难道也是DOS下:java xx.java?有没有.exe?
  • 我在jbuilder中新建一个servlet,源程序为java文件,是怎么从java到servler转换的?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • 谁有办法用java执行于java.exe不在一个目录的class文件?
  • 怎样把CLASS文件转成JAVA文件
  • 不让用户选择文件,程序指定本地文件,Java可以实现上传到服务器吗?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3