`

解压zip文件

 
阅读更多

/**
	 * 解压zip文件到指定的xml文件
	 * 
	 * @param zipFileName
	 *            文件名及目录
	 * @param outputDirectory
	 *            解压到的目录
	 */
	private void unzip(final String zipFileName, final String outputDirectory) {
		ZipInputStream mIn = null;
		try {
			mIn = new ZipInputStream(new FileInputStream(zipFileName));
			ZipEntry mZip;
			String mFileName = "";
			String mExtractedFile = "";
			int mCounter = 0;
			while ((mZip = mIn.getNextEntry()) != null) {
				mFileName = mZip.getName();
				if (mZip.isDirectory()) {
					mFileName = mFileName.substring(0, mFileName.length() - 1);
					File folder = new File(outputDirectory + File.separator
							+ mFileName);
					folder.mkdirs();
					if (mCounter == 0) {
						mExtractedFile = folder.toString();
					}
					mCounter++;
				} else {
					File mFile = new File(outputDirectory + File.separator
							+ mFileName);
					mFile.createNewFile();
					FileOutputStream mOut = new FileOutputStream(mFile);
					int ch;
					byte[] buffer = new byte[1024];
					while ((ch = mIn.read(buffer)) != -1) {
						mOut.write(buffer, 0, ch);
						mOut.flush();
					}
					mOut.close();
				}
			}
			mIn.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
分享到:
评论

相关推荐

    C++语言用zlib库解压zip文件

    在这个例子中,`unzOpen`用于打开zip文件,`unzGoToFirstFile`和`unzGoToNextFile`遍历文件,`unzGetCurrentFileInfo`获取文件信息,`unzReadCurrentFile`读取并解压缩文件内容,最后`unzClose`关闭zip文件。...

    delphi解压ZIP文件

    Delphi 的 VCL (Visual Component Library) 提供了一组用于文件压缩与解压缩的组件,其中 `TVCLUnZip` 类尤其适用于解压ZIP格式的文件。该类封装了所有解压所需的底层细节,使开发者能够以简洁的方式实现解压功能。 ...

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

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

    PHP在线压缩解压ZIP文件

    unzip.php可能包含了处理ZIP文件解压的逻辑,包括读取ZIP文件、检查密码、解压缩文件到服务器指定位置等步骤。而zip.php则可能负责文件的压缩操作,它需要遍历要打包的文件和目录,创建新的ZIP文件,并将文件添加到...

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

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

    IOS 解压zip 文件

    - 解压ZIP文件:创建一个`ZipFile`实例,然后遍历其中的`Entry`,逐个解压缩到目标目录。 ```swift import ZipFoundation let zipFile = try ZipFile(url: URL(fileURLWithPath: "path/to/your/zipfile.zip")) ...

    文件解压缩,压缩源码c#,net4.0

    3. 解压缩文件:解压缩文件则需要使用ZipFile或SevenZipExtractor类。通过遍历压缩文件中的每个条目,然后读取并写入到目标位置。 ```csharp using ICSharpCode.SharpZipLib.Zip; // 解压缩ZIP文件 using ...

    php在线解压ZIP文件程序

    在我们的场景中,我们需要使用`open()`方法来打开ZIP文件,`extractTo()`方法来解压缩文件,并且可能需要`close()`方法来释放资源。 1. **打开ZIP文件**: 使用`ZipArchive::open()`方法打开ZIP文件,它返回一个...

    c# 解压zip完整demo 带进度条

    综上所述,这个"C# 解压zip完整demo 带进度条"涵盖了C#中处理ZIP文件的基本步骤,包括打开ZIP档案、遍历条目、解压缩文件、使用进度条以及错误处理。通过理解这些概念,开发者可以构建出高效且用户友好的解压缩应用...

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

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

    C# Zip解压缩文件

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

    unity 解压缩文件zip类库

    首先,"unity 解压缩文件zip类库"指的是Unity中用于处理ZIP文件的库,这通常涉及到第三方库的集成,因为Unity本身并不内置直接解压ZIP文件的功能。一个常见的选择是使用开源库ICSharpCode.SharpZipLib,这个库在...

    C#压缩/解压ZIP文件带密码功能

    2. **解压缩文件**: - `ZipFile.ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName)`: 这个方法可以将ZIP文件解压缩到指定的目录。 - `ZipFile.OpenRead(string ...

    RAR使用命令行解压rar\zip文件

    值得注意的是,在解压ZIP文件时需要指定`-epzip`参数。 #### 八、总结 通过上述内容,我们可以看到使用WinRAR的命令行工具进行文件压缩和解压缩是非常灵活且高效的。不仅可以自定义压缩等级和分卷大小,还能轻松...

    解压ZIP文件,通用解压器

    Java提供了强大的标准库支持来处理ZIP文件,包括压缩与解压缩功能。这里主要介绍如何使用`java.util.zip`包中的类来进行解压操作。 #### 使用的关键类 1. **`ZipInputStream`**:用于读取ZIP压缩文件。 2. **`Zip...

    C#解压ZIP文件

    在.NET框架中,C#程序员可以使用各种库来处理压缩文件,其中一个是 Ionic.Zip,也被称为DotNetZip库。这个库允许我们方便地创建、读取、修改和解压ZIP文件,而无需依赖任何外部软件,如WinRAR或7-Zip。在Windows ...

    测试 Qt 使用Quazip 压缩/解压ZIP文件 的可执行程序案例,不是源码

    - **解压缩文件**:使用`QuaZip`类的`open()`方法打开ZIP文件,然后通过`QuaZipFile`来读取并解压单个文件或整个目录。例如: ```cpp QuaZip zip("archive.zip"); if (!zip.open(QuaZip::mdUnzip)) { // 处理...

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

    3. **解压缩文件** 解压ZIP文件则需要一个`ZipInputStream`实例,它包装在一个`FileInputStream`中,指向ZIP文件。通过调用`getNextEntry`方法,你可以逐个访问ZIP文件中的每个条目,然后创建相应的文件或目录,将...

    Java实现的带密码压缩与解压zip文件源码

    `ZipOutputStream`用于创建ZIP文件,而`ZipInputStream`则用于读取和解压ZIP文件。为了添加密码保护,我们需要在创建`ZipOutputStream`时设置一个密码。 1. **密码保护**:在压缩过程中,可以使用`ZipEntry`对象来...

    C++压缩和解压ZIP文件,有演示代码

    5. **解压缩文件**:使用`ZipEntry* entry = zip->getEntry(filenameInZip.c_str())`获取ZIP文件中的特定条目,然后使用`entry->extract(outputFilePath.c_str())`将文件解压缩到指定的输出路径。 6. **关闭文件**...

Global site tag (gtag.js) - Google Analytics