• java解压缩一个压缩文件中包含多个文件的情况


     1
    11 package com.testFile.test;
    12 
    13 import java.io.File;
    14 import java.io.FileInputStream;
    15 import java.io.FileOutputStream;
    16 import java.io.IOException;
    17 import java.io.InputStream;
    18 import java.io.OutputStream;
    19 import java.util.zip.ZipEntry;
    20 import java.util.zip.ZipFile;
    21 import java.util.zip.ZipInputStream;
    22 
    23 /**
    24  * 〈一句话功能简述〉<br>
    25  * 〈功能详细描述〉
    26  * 
    27  * @author Pasier
    28  * @see [相关类/方法](可选)
    29  * @since [产品/模块版本] (可选)
    30  */
    31 public class ZipFileDemo3 {
    32     public static void main(String[] args) throws IOException {
    33         // 要被压缩的文件夹
    34         String zipFileName = "D:" + File.separator + "javaIo" + File.separator + "hello.zip";
    35         // 被解压到的目标文件夹
    36         String newFileName = "D:" + File.separator + "javaIo" + File.separator + "decZip";
    37         File file = new File(zipFileName);
    38         File outFile = null;
    39         ZipFile zipFile = new ZipFile(file);
    40         ZipInputStream zipInput = new ZipInputStream(new FileInputStream(file));
    41         ZipEntry entry = null;
    42         InputStream input = null;
    43         OutputStream output = null;
    44         while ((entry = zipInput.getNextEntry()) != null) {
    45             System.out.println("解压缩" + entry.getName() + "文件");
    46             outFile = new File(newFileName + entry.getName());
    47             if (!outFile.getParentFile().exists()) {
    48                 outFile.getParentFile().mkdir();
    49             }
    50             if (!outFile.exists()) {
    51                 outFile.createNewFile();
    52             }
    53             input = zipFile.getInputStream(entry);
    54             output = new FileOutputStream(outFile);
    55             int temp = 0;
    56             while ((temp = input.read()) != -1) {
    57                 output.write(temp);
    58             }
    59             input.close();
    60             output.close();
    61         }
    62     }
    63 
    64 }

    参考博客"javaIO的整理":http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html

    结果如下:

    分享到:
  • 相关阅读:
    linux内核之情景分析mmap操作
    linux内核情景分析之匿名管道
    linux内核情景分析之命名管道
    linux内核情景分析之信号实现
    Linux内核情景分析之消息队列
    linux2.4内核调度
    聊聊程序的配置文件
    汽车引擎是怎么工作的
    Go对OO的选择
    为而不争
  • 原文地址:https://www.cnblogs.com/enshrineZither/p/3127112.html
Copyright © 2020-2023  润新知