求助,ZIP文件直接读取内容

sufangzhong 2007-11-12 07:06:51
我有500个ZIP文件,每个文件里面都有几百个文本文件,有没有什么办法可以不解压缩,而直接读取zip文件中的文本文件的内容?因为全部解压要4G左右的空间,太占空间了。
...全文
301 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没有使用java.util.zip包下的类,因为这个不支持中文的文件名。
这里使用的是Apache Ant的包下面的一个工具(可以支持中文),只要将ant.jar放到classpath下就可以了。
如没ZIP中没有中文文件名的话,那也可以使用java.util.zip包。两种基本上都是一样的。

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Enumeration;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;

public class ZipTest {

public static void main(String[] args) throws IOException {
ZipFile zip= new ZipFile(new File("e:/log.zip"));
Enumeration e = zip.getEntries(); // java包是zip.entries();
while(e.hasMoreElements()) {
ZipEntry entry = (ZipEntry)e.nextElement();
BufferedReader br = new BufferedReader(new InputStreamReader(zip.getInputStream(entry)));
String str = null;
System.out.println("----------------------------");
System.out.println(entry.getName());
System.out.println("----------------------------");
while( (str = br.readLine())!=null ) {
System.out.println(str);
}
br.close();
}
zip.close();
}
}
sufangzhong 2007-11-12
  • 打赏
  • 举报
回复
我知道zip库,但是找不到可以实现这个功能的类或者方法。
Graywolf8888 2007-11-12
  • 打赏
  • 举报
回复
java里面好像有个zip库,你去看看吧,应该可以。。。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧