`
百合不是茶
  • 浏览: 354055 次
社区版块
存档分类
最新评论

Zip解压压缩文件

阅读更多

 

 ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;

ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));

 

 

 

ZIP输入流打开后,你可以使用getNextEntry方法来读取ZIP文件中的条目数,该方法返回一个ZipEntry对象。如果到达文件的尾部,getNextEntry返回null;

while ((z = in.getNextEntry()) != null) {

}

 

建立输出流将解压的文档输出

 

下面的代码只能解压单个文件;

 

package ZIP文件流;

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

/**
 * 只能解压单个压缩文件
 */
public class DemoZip {

	public static void main(String[] args) {
		UpZip("F:\\test.zip", "D:");
		System.out.println("压缩完成");
	}

	/**
	 * 解压缩zip文件的方法
	 * 
	 * @param zipFileName
	 *            要被解压的文件
	 * @param outputDirectory
	 *            解压输出路径
	 */
	public static void UpZip(String zipFileName, String outputDirectory) {
		System.out.println("解压单个文件");
		try {
			ZipInputStream in = new ZipInputStream(new FileInputStream(
					zipFileName));
			/*
			 * 获取ZipInputStream中的ZipEntry条目,一个zip文件中可能包含多个ZipEntry,
			 * 当getNextEntry方法的返回值为null,则代表ZipInputStream中没有下一个ZipEntry,输入流读取完成;
			 */

			ZipEntry z ;
			while ((z = in.getNextEntry()) != null) {
				System.out.println( z.getName());
				// 创建以zip包文件名为目录名的根目录
				File f = new File(outputDirectory);
				//创建目录
				f.mkdirs();
				//是否为目录
				if (z.isDirectory()) {
					//获取名字
					String name = z.getName();
					//截取名字
					name = name.substring(name.length() );
					//文件路径
					f = new File(outputDirectory + File.separator + name);
					//文件目录
					f.mkdirs();
				} else {
					f = new File(outputDirectory + File.separator + z.getName());
					//创建新文件
					f.createNewFile();
					//输出流
					FileOutputStream out = new FileOutputStream(f);
					byte[] buff = new byte[1024];
					int len;
					while ((len = in.read(buff)) != -1) {
						out.write(buff, 0, len);
					}
					out.close();
				}
			}
			in.close();
		} catch (Exception e) {
			e.printStackTrace();

		}

	}
}

 

 

求大神指点怎么解压 压缩文件中的多个文件:::::

 

0
0
分享到:
评论

相关推荐

    zip解压缩文件文件夹都可以(java)

    zip解压缩文件文件夹都可以,代码清晰,注释多。非常容易看懂

    C# Zip解压缩文件

    3. 解压缩文件:以下是一个简单的解压缩文件的示例: ```csharp public static void UnzipFile(string zipFilePath, string destinationDirectory) { if (!File.Exists(zipFilePath)) { throw new ...

    python代码实现pj zip解压缩文件

    python代码实现pj zip解压缩文件 zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的 zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝...

    C++ zip解压缩压缩

    标题中的"C++ zip解压缩"指的是使用C++编程语言来处理ZIP文件格式,这是一种广泛使用的文件打包和压缩格式。ZIP文件可以将多个文件和目录组合到一个单一的档案文件中,并且可以进行压缩以节省存储空间。C++库提供了...

    C语言zip解压缩算法源代码

    Zip是一种广泛使用的文件压缩标准,它能够将多个文件打包成一个单一的压缩文件,便于存储和传输。在zip格式中,文件可以被压缩为两种主要的压缩方式:`STORED`(未压缩)和`DEFLATED`(动态压缩)。描述中提到,源...

    java.util.zip 解压缩文件,ZIP格式压缩文件.rar

    在这个场景中,我们将深入探讨如何使用这个包来解压缩和压缩ZIP格式的文件。`java.util.zip` 包包含几个关键类,如 `ZipInputStream`, `ZipOutputStream`, `ZipEntry` 等,它们共同协作以完成ZIP文件的读写操作。 ...

    VC++ MFC 如何用 CZip CUnzip类压缩解压缩文件

    本文将详细介绍如何使用CZip和CUnzip类来处理文件的压缩与解压缩任务。 首先,我们需要了解CZip和CUnzip类的基本概念。CZip类提供了创建、打开、添加、删除和提取ZIP文件的功能,而CUnzip类则负责从ZIP文件中提取...

    zip文件压缩解压源码 (c++)

    本文将深入探讨使用C++实现zip文件的压缩与解压缩技术,基于提供的文件名列表:XUnzip.cpp、XZip.cpp、XUnzip.h、XZip.h。 首先,`XUnzip.cpp`和`XZip.cpp`是实现压缩和解压缩功能的源代码文件,而`XUnzip.h`和`...

    C语言实现Zip压缩解压.rar

    对于压缩,可以调用`zip_entry_open()`,`zip_entry_write()`和`zip_entry_close()`来写入新的压缩文件。 在实现过程中,需要注意错误处理,确保程序的健壮性。同时,为了提高效率,可以考虑使用多线程技术对大文件...

    C++ Zlib库实现zip文件压缩解压(支持递归压缩)

    解压缩过程相对简单,使用`minizip`的`unzip`函数可以打开`zip`文件,再通过`unzipOpenCurrentFile`、`unzipReadCurrentFile`和`unzipCloseCurrentFile`等函数读取并解压缩每个文件,然后写入到目标位置。...

    ucos移植zlib和zip文件解压缩

    为了在UCOS上实现ZIP解压,我们可以利用开源库,例如ZIP解压缩工具“unzip”。文件unzip101h可能是包含UNZIP库源代码的一个头文件。 1. 移植UNZIP库:如同ZLIB,我们需要对UNZIP库进行类似的配置和编译过程。这可能...

    DotNet 实现Zip 解压缩文件(可压缩文件或文件夹)

    **解压缩文件** 1. 解压缩到指定目录: ```csharp public static void ExtractToDirectory(string zipFile, string destinationDirectory) { using (var zip = ZipFile.OpenRead(zipFile)) { foreach (var entry...

    C++ zip、zip压缩文件处理等压缩文件处理类源码

    5从压缩文件解压文件 6释放(关闭)压缩文件 源码包含了封装的功能模块类以及测试类, 全部源码都可以用VS2020编译通过,请放心使用! 友情提示,为了兼顾一些旧代码,预编译头文件用的是StdAfx.h,如果需要更换为...

    7-Zip解压缩文件

    7-Zip是一款强大的开源压缩和解压缩工具,以其高...总之,7-Zip凭借其广泛的格式支持、高效压缩、安全加密、便携性和开源特性,成为了处理各种压缩文件的理想工具,尤其是在遇到特定文件解压困难时,它的优势更加明显。

    VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件

    VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件,网上很多源码不好用,所以就自己做了一个。原始代码是VC++的用VS2019编译了一个,DLL封装了下。调用很简单 '调用方法如下: 'CreateZipFileA "C:\123", "C:\123.zip...

    vbs压缩和解压zip,vbs压缩zip,vbs解压zip

    ### VBS 脚本实现 ZIP 文件的压缩与解压缩 在日常工作中,我们经常会遇到需要对文件进行压缩或解压缩的情况。对于批量处理任务,使用脚本语言可以大大提高效率。Visual Basic Script(VBS)作为Windows环境中的一种...

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

    然而,当压缩文件包含中文字符时,解压缩过程中可能会遇到乱码问题。这是因为编码格式不匹配或者处理方式不当导致的。本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 ...

    在iOS使用ZipArchive压缩和解压缩文件

    解压缩文件同样简单,只需将上面的代码替换为解压操作: ```objc NSString *zipPath = @"压缩文件路径"; NSString *unzipDir = @"解压目标目录"; BOOL unzipped = [zipArchive unZipFileAtPath:zipPath to...

    java 操作Zip文件(压缩、解压、加密).zip

    - **解压缩文件**:使用`unzip()`方法可以解压缩整个Zip文件,或者通过`extractFile()`或`extractFolder()`方法提取指定的文件或目录。 - **加密**:`zip4j`支持AES 128/256位加密,你可以设置密码保护Zip文件,...

    VB.NET使用ZipPackage实现ZIP文件压缩解压缩示例

    为了压缩文件,我们首先需要创建一个ZipPackage对象,并指定目标ZIP文件的路径。然后,我们可以调用AddFromStream或AddFromFile方法,将源文件添加到压缩包中。以下是一个简单的VB.NET代码示例: ```vb.net Imports...

Global site tag (gtag.js) - Google Analytics