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();
        }
    }
}