无痕客

落花无情,流水无痕……

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Java Zip Compression Examples

http://www.example-code.com/java/zip.asp

 http://hi.baidu.com/csacer/blog/item/329439311531bb02ebc4afb3.html/cmtid/2c6273fa98dc6511a8d311da

http://www.keygenguru.com/serial/chilkat_zip_v7_0_3.html

 

How to extract Java resources from JAR and zip archives

http://www.javaworld.com/javaworld/javatips/jw-javatip49.html?page=1

 

如何通过java,不进行解压zip/rar文件操作,就把压缩文件中的文件名给读取出来?

package com.lch.test;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class ZIP {
  public static void main(String[] argv) throws Exception {
    ZipFile zf = new ZipFile("E:\\wk\\LBSLEMIS201106141057\\LBSLEMIS\\test\\com\\lch\\test\\filename.zip");

    for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {
      String zipEntryName = ((ZipEntry) entries.nextElement()).getName();
      System.out.println(zipEntryName);
    }
  }
}
但是要注意中文乱码问题

http://bbs.bccn.net/thread-344366-1-1.html

ZipInputStream是一个指向ZIP文件的流,这个流最重要的方法就是getNextEntry方法,一个zip文件可以包含好几个被压缩的文件,这个方法的功能就是返回下一个目录项,也就是返回zip文件中的下一项,并且把流指向这个目录文件项。

getNextEntry的返回值是ZipEntry,它表示zip文件中的一个项,它可以返回这个文件项的大小、名称等。你可以根据它返回的文件大小调用ZipInputStream的read方法来读取需要的字节

给你一个例子:

public class ZipTest {
    public static void main(String args[]) throws FileNotFoundException, IOException{
        ZipInputStream zis = new ZipInputStream(new FileInputStream ("c://a.zip"));//生成读取ZIP文件的流
        ZipEntry ze = zis.getNextEntry();//取得下一个文件项
        long size = ze.getSize();//取得这一项的大小
        FileOutputStream fos = new FileOutputStream("c://"+ze.getName());//产生输出文件对象
        for(int i= 0;i<size;i++){//循环读取文件并写入输出文件对象
            byte c = (byte)zis.read();
            fos.write(c);
        }
        fos.close();
        zis.close();
    }
}

http://wenwen.soso.com/z/q190504968.htm

 关于java解压zip与rar的问题

用java解压缩zip和rar的工具类

http://biguan.iteye.com/blog/1073173

posted on 2011-11-21 00:48  无痕客  阅读(983)  评论(0编辑  收藏  举报