`
rockethj8
  • 浏览: 24984 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java解压缩zip包

阅读更多
package test;

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class Unzip
{
    public static void main(String[] args)
    {
        String zipFilePath = "D:\\zip\\csv.zip";
        File zipFile = new File(zipFilePath);
        String targetDirectoryPath = null;
        // 当目标目录为空的时候将文件解压到文件所在目录。
        String targetDirectory = targetDirectoryPath;
        ZipInputStream zis = null;
        if (targetDirectoryPath == null)
        {
            targetDirectory = zipFile.getParent() + System.getProperty("file.separator");
        }

        try
        {
            zis = new ZipInputStream(new FileInputStream(zipFilePath));
            ZipEntry entry;

            // 创建解压后的文件夹。
            while ((entry = zis.getNextEntry()) != null)
            {
                if (!entry.isDirectory())
                {
                    continue;
                }
                File directory = new File(targetDirectory, entry.getName());
                if (!directory.exists())
                {
                    if (!directory.mkdirs())
                    {
                        System.exit(0);
                    }
                    zis.closeEntry();
                }

            }
            zis.close();

            // 解压缩文件。
            zis = new ZipInputStream(new FileInputStream(zipFilePath));
            while (((entry = zis.getNextEntry()) != null))
            {
                if (entry.isDirectory())
                {
                    continue;
                }
                File unzippedFile = new File(targetDirectory, entry.getName());

                String filePath = unzippedFile.getPath();
                if (filePath.endsWith("."))
                {
                    String newPath = filePath.substring(0, filePath.length() - 1);
                    File dir = new File(newPath);
                    if (!dir.exists())
                    {
                        dir.mkdir();
                    }
                    continue;
                }

                if (!unzippedFile.exists())
                {
                    unzippedFile.createNewFile();
                }
                FileOutputStream fout = new FileOutputStream(unzippedFile);
                DataOutputStream dout = new DataOutputStream(fout);

                byte[] b = new byte[1024];
                int len = 0;
                while ((len = zis.read(b)) != -1)
                {
                    dout.write(b, 0, len);
                }
                dout.close();
                fout.close();
                zis.closeEntry();
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                if (zis != null)
                {
                    zis.close();
                }
                
                //zipFile.delete();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
}


直接来段源码。
分享到:
评论

相关推荐

    java解压缩zip代码与用到的jar包

    以下是一个基本的Java代码示例,演示如何解压缩ZIP文件: ```java import java.io.*; import java.util.zip.*; public class UnzipExample { public static void unzip(String zipFilePath, String destDirectory...

    java 解压缩zip文件

    在Java编程语言中,解压缩ZIP文件是一项常见的任务,特别是在处理数据传输、文件打包和部署等场景下。本文将深入探讨如何使用Java API来解压缩ZIP文件,包括基本概念、核心类库以及具体实现步骤。 ZIP文件是一种...

    JAVA解压ZIP格式的压缩包_java解压缩_zip_

    首先,我们需要了解Java中的`java.util.zip`包,这个包提供了处理压缩文件的基本工具。在ZIP格式的压缩包处理中,我们主要会用到`ZipInputStream`和`ZipEntry`这两个类。`ZipInputStream`是用于读取ZIP文件的输入流...

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    在Java编程语言中,文件的压缩与解压缩是常见的操作,尤其在数据传输、存储优化以及备份场景下显得尤为重要。...通过上述知识点,开发者能够有效地在Java环境中进行ZIP文件的压缩与解压缩操作,满足实际项目需求。

    java打包压缩ZIP

    一、Java打包压缩ZIP Java中的`java.util.zip`包提供了对ZIP文件的支持。主要涉及到的类有`ZipOutputStream`和`ZipEntry`。`ZipOutputStream`是用于创建ZIP文件的输出流,而`ZipEntry`则代表ZIP文件中的一个条目...

    利用ant.jar解压缩zip包

    本话题主要聚焦于如何利用ant.jar来解压缩ZIP包。首先,你需要确保你的项目中已经引入了ant.jar。这通常可以通过Maven或Gradle等构建工具添加依赖来实现。如果你的项目不使用这些工具,你可以将ant.jar作为库文件...

    java ZIP 解压缩

    java语言操作解压缩文件。 /** * 数据压缩 * * @param data * @return * @throws Exception */ public static byte[] compress(byte[] data) throws Exception { ByteArrayInputStream bais = new ...

    JAVA解压缩ZIP或RAR格式的文件

    在Java编程环境中,解压缩ZIP或RAR格式的文件是一项常见的任务,这主要涉及到I/O流、文件操作以及压缩和解压缩库的使用。本篇将深入讲解如何在Java中实现这个功能,同时会介绍一些相关的工具和源码。 首先,对于ZIP...

    Java工具类ZIP解压缩

    Java工具类ZIP解压缩Java工具类ZIP解压缩Java工具类ZIP解压缩

    java生成.zip包,解压缩.zip

    最后,`生成zip包代码.txt`和`解压缩zip包.txt`文件可能包含了具体的实现代码,而`需要用的jar包`可能是指在某些情况下,如使用第三方库时,可能需要引入额外的依赖项。例如,如果使用了Apache Commons Compress库,...

    Java解压缩ZIP文件同时包含Jar包解决ZIP包中含有中文名称信息的文件

    博文链接:https://peng-jian-ming.iteye.com/blog/190572

    java android zip解压缩(解决压缩中文乱码问题)

    本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 首先,我们要明白乱码问题的根源。在文件的压缩和解压缩过程中,文件名通常被编码为字节序列,这个序列取决于原始文件名...

    JAVA解压缩ZIP压缩文件(含中文名文件)完整DEMO

    本篇文章将详细讲解如何使用Java来解压缩ZIP格式的压缩文件,特别是那些包含中文文件名的压缩包。我们将探讨相关API的使用,以及解决中文文件名在解压过程中可能出现的问题。 1. **Java的压缩与解压缩库**: Java...

    java解压缩ZIP文件

    ### Java解压缩ZIP文件:深度解析与实践 #### 核心知识点概览: - **Java I/O与网络数据流统一接口**:Java的1.1版本提供了统一的接口来处理I/O数据流与网络数据流,这使得数据的压缩、传输和解压缩变得简单而高效...

    JAVA文件压缩与解压缩实践(源代码).zip

    JAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩...

    使用java解压缩zip文件

    本篇文章将深入探讨如何使用Java API来实现ZIP文件的解压缩,并提供详细的注释帮助理解代码逻辑。 首先,我们需要了解Java中的`java.util.zip`包,这个包提供了处理压缩文件格式(如ZIP和GZIP)所需的所有类。其中...

    JAVA文件压缩与解压缩实践(源代码+论文)

    在Java编程语言中,文件的压缩与解压缩是常见的数据处理操作,特别是在数据传输、存储优化和备份场景中。本实践项目围绕这个主题展开,包括源代码和相关的论文,为学习者提供了深入理解和应用Java压缩库的机会。以下...

Global site tag (gtag.js) - Google Analytics