简单的Zip文件解压缩()

原创
2014/11/21 11:23
阅读数 224
package com.meson.zip;

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;

/**
 * Created by Administrator on 2014-11-21.
 */
public class ZipInputStreamDemo01 {
    /**
     * 解压缩Zip文件
     * 文件下没有目录
     * 紧跟着文件
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("h:" + File.separator + "txt.zip");
        File outFile = null;
        ZipFile zipFile = new ZipFile(file);//实例化压缩文件对象
        ZipInputStream zipInput = null;//定义压缩输出流
        OutputStream out = null;//定义输出流 输出每一个实体的内容
        InputStream input = null;//定义输入流 读取每一个ZipEntry
        ZipEntry entry = null;//每一个压缩实体

        zipInput = new ZipInputStream(new FileInputStream(file));//实例化压缩输出流
        while ((entry = zipInput.getNextEntry()) != null) {
            System.out.println("解压缩:" + entry.getName());
            outFile = new File("h:" + File.separator + entry.getName());//实例化输出文件对象
            if (!outFile.getParentFile().exists()) {
                outFile.getParentFile().mkdir();//判断上级目录存在否
            }
            if (!outFile.exists()) {
                outFile.createNewFile();//判断文件是否存在
            }

            input = zipFile.getInputStream(entry);//获取单个文件的输入流 (通过entry)
            out = new FileOutputStream(outFile);//实例化文件的输出流

            int temp = 0;
            while ((temp = input.read()) != -1) {
                out.write(temp);
            }

            input.close();//关闭输入流
            out.close();//关闭输出流
        }

        zipInput.close();//关闭压缩流

    }
}


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部