java 解zip文件(ZipInputStream)

来源:互联网 发布:ubuntu gcc g 下载 编辑:程序博客网 时间:2024/05/19 15:22

 从ZIP文件中解压缩和提取数据
1.
java.util.zip包提供了数据压缩与解压缩所需要的类。ZIP文件的解压缩实质上就是从输入流中读取数据,Java.util.zip包提供了类ZipInputStream来读取ZIP文件。ZipInputStream流的创建与其它输入流的创建没什么两样。举个例子,下面的代码段创建了一个输入流来读取ZIP格式的文件:java.util.zip包提供了数据压缩与解压缩所需要的类。ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件。ZipInputStream流的创建与其它输入流的创建没什么两样。举个例子,下面的代码段创建了一个输入流来读取ZIP格式的文件:
package zip;
import java.io.*;
import java.util.zip.*;
public class UnZip {
    static final int BUFFER = 2048;
    public static void main(String argv[]) {
        try {
            BufferedOutputStream dest = null;
            FileInputStream fis = new
                                  FileInputStream("D:/project/test/down/down.zip");
            ZipInputStream zis = new
                                 ZipInputStream(new BufferedInputStream(fis));
            ZipEntry entry;
            while ((entry = zis.getNextEntry()) != null) {
                System.out.println("Extracting: " + entry);
                int count;
                byte data[] = new byte[BUFFER];
// write the files to the disk
                FileOutputStream fos = new
                                       FileOutputStream("D:/project/test/unzip/"+entry.getName());
                dest = new
                       BufferedOutputStream(fos, BUFFER);
                while ((count = zis.read(data, 0, BUFFER))
                                != -1) {
                    dest.write(data, 0, count);
                }
                dest.flush();
                dest.close();
            }
            zis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2.

原创粉丝点击