Java如何读取zip /压缩文件中的条目?
package org.nhooo.example.zip; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class ZipFileExample { public static void main(String[] args) { try { //创建ZipFile实例以读取zip文件 //叫做sample.zip ZipFile zip = new ZipFile(new File("data.zip")); //在这里,我们开始迭代其中的每个条目 //sample.zip for (Enumeration e = zip.entries(); e.hasMoreElements(); ) { //获取ZipEntry,它是文件还是目录 ZipEntry entry = (ZipEntry) e.nextElement(); //获取有关条目的一些信息,例如 //文件名,其大小。 System.out.println("File name: " + entry.getName() + "; size: " + entry.getSize() + "; compressed size: " + entry.getCompressedSize()); System.out.println(); //现在我们要获取该条目的内容。 //获取InputStream,我们通读输入 //流,直到读取所有内容。 InputStream is = zip.getInputStream(entry); InputStreamReader isr = new InputStreamReader(is); char[] buffer = new char[1024]; while (isr.read(buffer, 0, buffer.length) != -1) { String s = new String(buffer); //在这里,我们只打印出内部的内容 //缓冲。 System.out.println(s.trim()); } } } catch (IOException e) { e.printStackTrace(); } } }