package com.fangtoon.business.activity.junit; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; /** * @date 创建时间:2014年12月31日 上午9:08:59 */ public class ZipUtils { //D:\logs\zipLog public static void zipFiles(File destfile,File zipFiles) throws Exception{ if(!destfile.isFile()){ destfile.createNewFile(); } try{ File[] listFiles = zipFiles.listFiles(); ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(destfile)); for(File file : listFiles){ ZipEntry zipEntry = new ZipEntry(file.getName()); zos.putNextEntry(zipEntry); FileInputStream fis = new FileInputStream(file); System.out.println("===" + fis.available()); byte[] bytes = new byte[4096]; int read = 0; while((read = fis.read(bytes))!=-1){ zos.write(bytes, 0, read); } zos.closeEntry(); fis.close(); } zos.finish(); zos.close(); }catch(Exception e){ e.printStackTrace(); } } public static void unZipFiles(File destfile,File File) throws Exception{ if(!destfile.isDirectory()){ throw new IllegalAccessException("此文件格式不是一个目录文件"); } try{ String directoryName = destfile.getAbsolutePath()+"/"; ZipFile zf = new ZipFile(File); Enumeration zipEntrys = zf.entries(); while(zipEntrys.hasMoreElements()){ ZipEntry zipEntry = (ZipEntry) zipEntrys.nextElement(); InputStream is = zf.getInputStream(zipEntry); FileOutputStream fos = new FileOutputStream(directoryName+zipEntry.getName()); byte[] bytes = new byte[1024]; int read = 0; while((read = is.read(bytes))!=-1){ fos.write(bytes, 0, read); } fos.close(); is.close(); } zf.close(); }catch(Exception e){ e.printStackTrace(); } } public static void main(String args[]) throws Exception{ File file = new File("D:\\logs\\zipLog"); File destFile = new File("D:\\logs\\testZip\\zip.zip"); zipFiles(destFile,file); //unZipFiles(file, destFile); System.out.println("fdsafdsf"); } }
这个例子只支持zip的压缩解压,如果有.rar的解压缩功能请下以下地址:
http://www.iteye.com/topic/1073173
如果遇到读取中文命名乱码的现象请加粗代码即可:
String compressFileName = fileHeader.getFileNameW().trim();
相关推荐
【描述】:“zip压缩解压缩 源代码 c++ code”指出我们将探讨的是使用C++编程语言实现ZIP文件的压缩和解压缩功能。C++是一种强大的、通用的面向对象编程语言,它的灵活性和高效性使得它成为处理这种底层数据操作的...
C++ zip压缩解压缩源代码 压缩时调用 #include "zip.h" HZIP hz = CreateZip("c:\\simple1.zip",0); ZipAdd(hz,"znsimple.bmp", "c:\\simple.bmp"); ZipAdd(hz,"znsimple.txt", "c:\\simple.txt"); ...
本篇文章将详细介绍如何在UCOS系统中移植ZLIB库以及实现ZIP文件的解压缩。 首先,ZLIB是一个开源的压缩库,它提供了数据的无损压缩和解压缩功能,常用于GIF、PNG等文件格式。移植ZLIB到UCOS涉及到以下几个关键步骤...
标题中的"C++ zip解压缩"指的是使用C++编程语言来处理ZIP文件格式,这是一种广泛使用的文件打包和压缩格式。ZIP文件可以将多个文件和目录组合到一个单一的档案文件中,并且可以进行压缩以节省存储空间。C++库提供了...
你可以使用`TZipFile.Create`方法来创建一个新的`TZipFile`实例,然后通过`Add`方法将文件添加到ZIP档案中,或者使用`ExtractToFile`方法将ZIP内的文件解压缩到指定位置。例如: ```delphi uses System.Zip; var ...
本篇文章将深入探讨C语言实现的zip解压缩算法源代码,以及与之相关的技术知识点。 首先,我们要了解zip文件格式。Zip是一种广泛使用的文件压缩标准,它能够将多个文件打包成一个单一的压缩文件,便于存储和传输。在...
本文将深入探讨如何使用C语言实现ZIP压缩与解压功能。 ZIP是一种广泛使用的文件压缩格式,它能够将多个文件打包并压缩成一个单一的ZIP档案,以便于存储、传输和分享。ZIP文件格式的标准由PKWARE公司制定,并由Info-...
标题中的"C/C++ zip压缩解压缩"是指使用C或C++编程语言来实现对ZIP文件格式的处理。ZIP是一种广泛使用的文件归档格式,它允许将多个文件和目录打包成一个单一的可移植文件,同时提供数据压缩以节省存储空间。 描述...
1. 可以将任意一个目录压缩成一个zip文件,包含密码 2. 可以将任意一个zip文件,加压到一个目录中,该目录位于当前执行文件所在目录的Unzip目录中,目录结构... 兼容三方的压缩解压缩文件。 带有演示程序以及原代码
在Delphi编程环境中,处理ZIP文件的压缩与解压缩任务时,可以借助第三方库VCLZip。VCLZip是一个强大的组件集,它提供了方便的API,使得开发者可以在Delphi应用程序中轻松实现对ZIP文件的操作。下面我们将详细探讨...
### Java 实现 ZIP 文件压缩与解压缩 #### 知识点概述 在现代软件开发过程中,数据压缩是一项非常重要的技术,特别是在处理大量数据时。Java 作为一种广泛应用的编程语言,提供了丰富的 API 来支持文件的压缩与解...
(安卓APP项目源代码)文件管理器源码,文件拖曳,list弹性,root ,zip压缩解.zip(安卓APP项目源代码)文件管理器源码,文件拖曳,list弹性,root ,zip压缩解.zip(安卓APP项目源代码)文件管理器源码,文件拖曳,list弹性,...
哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩源码.zip哈夫曼压缩与解压缩...
在解压缩方面,我们需要打开已存在的ZIP文件,然后读取其中的每个部分(PackagePart),将其内容写入到目标文件。以下是一个VB.NET解压缩的示例: ```vb.net Imports System.IO.Packaging Module UnzipDemo Sub ...
使用ZLIB库 包装的压缩解压缩文件的源码 VS2005 工程创建 /* */ class ZIPWRAP_EXP CZipper { public: CZipper(); virtual ~CZipper(); // simple interface static bool ZipFile(const char* szFilePath...
总的来说,这份WinCE ZIP压缩解压缩源代码为开发者提供了一个实用的工具,通过研究和理解源代码,不仅可以掌握ZIP文件处理的基本原理,还可以了解到在有限资源环境下C++编程的一些技巧。同时,这也是一个很好的学习...
3. 解压缩文件:以下是一个简单的解压缩文件的示例: ```csharp public static void UnzipFile(string zipFilePath, string destinationDirectory) { if (!File.Exists(zipFilePath)) { throw new ...
标题中的“标准zip压缩解压缩DLL库”指的是一个动态链接库(Dynamic Link Library,简称DLL),它是Windows操作系统中的一种共享库,包含了一系列用于处理ZIP格式压缩和解压缩的函数。DLL库的优势在于可以让多个程序...
本压缩包"各种zip压缩解压缩源码集合.zip"显然包含了一系列与Zip压缩算法相关的源代码,这对于理解其工作原理、进行二次开发或者优化现有压缩库非常有价值。下面,我们将深入探讨Zip压缩算法及相关编程知识。 1. **...