- 浏览: 238898 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xmwjfid:
写的不错,就是有个疑问groupSize 这个用来干什么?
jQuery Ajax分页(pagination.js)分页插件 (转载) -
GRACEACT:
Thanks.对我很有帮助。
使用Java组件itext 生成pdf的介绍 -
xianzi_2008:
jQuery Ajax分页(pagination.js)分页插件 (转载) -
xiaotao.2010:
Demo a=new Demo()
{ ...
匿名类 -
system1029hq:
jQuery Ajax分页(pagination.js)分页插件 (转载)
程序实现了ZIP压缩。共分为2部分 : 压缩(compression)与解压(decompression)
大致功能包括用了多态,递归等JAVA核心技术,可以对单个文件和任意级联文件夹进行压缩和解压。
需在代码中自定义源输入路径和目标输出路径。
package com.uaes.util; import java.io.*; import java.util.zip.*; /** * @description 实现了ZIP【压缩】【解压】功能:大致功能包括用了多态,递归等JAVA核心技术,可以对单个文件和任意级联文件夹进行压缩和解压。 * @author King_wangyao * @date 2011-11-28 * @version 1.0.0 * */ public class ZIPUtil { private static int k = 1; // 定义递归次数变量 /** * 指定ZIP压缩(compression) * * @param zipFileName 输入完整的压缩包路径名称 * @param inputFile 输入将要压缩的目录 */ private static void compression(String zipFileName, File inputFile) throws Exception { long startTime = System.currentTimeMillis(); System.out.println("压缩中..."); ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName)); BufferedOutputStream bo = new BufferedOutputStream(out); zip(out, inputFile, "/" + inputFile.getName(), bo); bo.close(); out.close(); // 输出流关闭 System.out.println("压缩完成"); long endTime = System.currentTimeMillis(); System.out.println("压缩耗费时间: " + (endTime - startTime) + " ms"); } private static void zip(ZipOutputStream out, File f, String base, BufferedOutputStream bo) throws Exception { // 方法重载 if (f.isDirectory()) { File[] fl = f.listFiles(); for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + "/" + fl[i].getName(), bo); // 递归遍历子文件夹 } System.out.println("第" + k + "次递归"); k++; } else { out.putNextEntry(new ZipEntry(base)); // 创建zip压缩进入点base System.out.println(base); FileInputStream in = new FileInputStream(f); BufferedInputStream bi = new BufferedInputStream(in); int b; while ((b = bi.read()) != -1) { bo.write(b); // 将字节流写入当前zip目录 } bi.close(); in.close(); // 输入流关闭 } } /** * 指定ZIP解压(decompression) * * @param target 输入源zip路径 * @param parent 输出解压目录) */ public static void decompression(String target, String parent) { long startTime = System.currentTimeMillis(); System.out.println("压缩中..."); try { ZipInputStream Zin = new ZipInputStream(new FileInputStream(target));// 输入源zip路径 BufferedInputStream Bin = new BufferedInputStream(Zin); File Fout = null; ZipEntry entry; try { while ((entry = Zin.getNextEntry()) != null && !entry.isDirectory()) { Fout = new File(parent, entry.getName()); if (!Fout.exists()) { (new File(Fout.getParent())).mkdirs(); } FileOutputStream out = new FileOutputStream(Fout); BufferedOutputStream Bout = new BufferedOutputStream(out); int b; while ((b = Bin.read()) != -1) { Bout.write(b); } Bout.close(); out.close(); System.out.println(Fout + "解压成功"); } Bin.close(); Zin.close(); } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } long endTime = System.currentTimeMillis(); System.out.println("解压耗费时间: " + (endTime - startTime) + " ms"); } /** * 测试... * @param args */ public static void main(String[] args) { // 自定义的zip输出路径 String target = "C:\\TEMP\\Compression.zip"; // 自定义的源输入路径,即要压缩的文件或文件夹 String path = "C:\\TEMP\\student.png"; // 自定义的解压目录 String decompressionPath = "C:\\TEMP\\decompression"; try { // 压缩测试 compression(target, new File(path)); // 解压测试 decompression(target, decompressionPath); } catch (Exception e) { e.printStackTrace(); } } }
程序控制台输入结果,如下图:
压缩、解压结果,如下图:
发表评论
-
JavaScript与Java的区别
2012-09-29 23:50 10911.基于对象和面向对象 Java是一种面向对象的语言 ... -
应该被记住的 8 位Java人物
2012-07-04 17:53 1450这里列举了 8 个 Java 人物,他们创建了对 Ja ... -
Struts基本原理
2012-07-04 17:48 1543上图来源于Struts2官方站点,是Struts 2 的整 ... -
Spring事务配置的五种方式
2012-07-04 17:45 1469Spring配置文件中关于事务配置总是由三个组成部分,分别是D ... -
MyEclipse中Ctrl+Shift+F格式化代码时不换行
2012-06-12 21:04 2730Eclipse 格式化代码时不换行 每次用Eclipse自带 ... -
MyEclipse 解决内存溢出
2012-06-12 20:57 22941、修改eclipse.ini在Myeclipse安装目录下G ... -
J2EE体系结构图或三层结构图
2012-05-05 23:55 4848J2EE体系结构图或三层结构图 J2EE体系结构图: ... -
struts2<s:iterator>遍历map小结
2012-05-05 23:34 26051.MapAction.java package com.u ... -
java 调用.net DLL的方法
2012-04-30 16:18 1513背景: 近日一个ja ... -
Windows 任务管理器 PF使用率 总数 核心内存 物理内存
2012-04-28 13:14 15431、【CPU 使用】 CPU的使用百分比,柱状图表示实时的 ... -
框架StringUtil
2012-04-25 21:47 1388package com.common.string; i ... -
在windowsXP中如何卸载Oracle10g
2012-03-19 21:45 1334软件环境: 1、Windows XP ... -
MD5
2012-03-15 22:22 973package com.kingsoft.main; / ... -
cookie与session的区别和联系
2012-02-01 11:58 1170最佳答案具体来说cookie ... -
《网站开发人员应该知道的61件事》[解读]
2011-12-03 21:36 1667看了阮一峰翻译的《 ... -
JAVA字符串的方法
2011-11-28 21:04 10551、length() 字符串的长度 例:char chars ... -
JAVA中线程同步方法
2011-11-28 21:01 20211 wait方法: 该方法属于Object的方 ... -
JAVA几个常见错误简析
2011-11-28 20:58 1017JAVA几个常见错误简析: 1,空指针错误 java ... -
Eclipse中使用debug技术
2011-11-28 20:52 1333一、怎样启动debug模式 1、在程序中设置断点 ... -
从字符串中检索输出数字
2011-10-31 23:59 981Stirng name="asdfq5asdf23& ...
相关推荐
而`使用Ant实现zip压缩解压功能`这个文件名可能是相关的文档或说明,包含了更详细的步骤和解释。 总的来说,Apache Ant作为一个强大的构建工具,其ZIP操作功能可以帮助开发者轻松地管理项目文件,提高工作效率。...
总之,C语言实现ZIP压缩解压涉及文件操作、数据压缩算法和ZIP文件格式的理解。通过学习和应用相关库,开发者可以创建自己的ZIP工具,满足特定的需求。这个过程既锻炼了C语言编程技能,也加深了对文件压缩技术的理解...
本篇文章将详细介绍如何在`C++`中利用`Zlib`库实现对`zip`文件的压缩和解压,并特别关注其支持的递归压缩特性,以及如何将其与自动更新功能结合使用。 首先,我们需要理解`Zlib`库的基本原理。`Zlib`库基于`DEFLATE...
你可以打开`Demos.sln`,使用Visual Studio或其他支持.NET的IDE来查看和运行代码,以更深入地学习C#中ZIP压缩解压的实现细节。 总的来说,C#为开发者提供了强大且易于使用的工具,用于处理ZIP文件的压缩和解压。...
总结来说,`zip文件压缩解压源码(C++)`涉及的关键技术包括:理解zip文件格式,使用C++进行文件操作,选择和应用压缩算法,以及错误处理。通过分析和理解`XUnzip.cpp`和`XZip.cpp`,我们可以学习如何在C++环境中...
在本文中,我们将深入探讨如何使用C++语言来实现ZIP文件的解压缩功能,这是一个纯C++的解决方案,不依赖于任何第三方库。这个方法在Visual C++ 6.0环境下开发并测试通过,但请注意,它可能在更新的开发环境中未经...
在IT行业中,文件压缩是一种常见...总结,ZIP压缩和解压是IT领域中常用的数据处理技术,理解其原理和实现方法对于日常开发工作非常重要。封装自己的ZIP处理接口可以提高代码复用性和易用性,使文件压缩和解压更加便捷。
VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件,网上很多源码不好用,所以就自己做了一个。原始代码是VC++的用VS2019编译了一个,DLL封装了下。调用很简单 '调用方法如下: 'CreateZipFileA "C:\123", "C:\123.zip...
总的来说,这个ZIP压缩解压组件提供了一套完整的解决方案,不仅涵盖了基本的压缩和解压功能,还考虑到了安全性以及与Delphi开发环境的良好集成。对于任何需要处理ZIP文件的Delphi开发者来说,它都是一款非常实用的...
本主题将详细介绍如何利用XE4自带的System.Zip单元来实现这一功能,并探讨如何在Delphi7中调用这些功能。 首先,`System.Zip`单元是Embarcadero Delphi XE4引入的一个重要组件,它提供了对ZIP文件格式的支持,包括...
Visual Basic Script(VBS)作为Windows环境中的一种常用脚本语言,支持多种文件操作功能,包括ZIP文件的压缩和解压缩。 #### 一、基础知识简介 在开始之前,我们需要了解几个基本概念: 1. **Shell.Application ...
`java版zip压缩解压代码`提供了在命令行环境中实现这一功能的程序。这个程序主要利用了Java的内置库,尤其是`java.util.zip`包中的类,如`ZipOutputStream`和`ZipInputStream`,来实现对文件和文件夹的ZIP压缩与解压...
使用VC实现zip的压缩、解压功能,支持文件、文件夹、密码。 VC use zip unzip and document compression and decompression code, support file, directory.
AS3.0(ActionScript 3.0)是Adobe Flash平台上的编程语言,主要用于创建交互式内容、动画和网络应用程序。...总的来说,理解和掌握AS3.0 ZIP压缩解压的原理和实践,对于开发高效、可靠的Flash应用是至关重要的。
本文将详细讲解手机端ZIP压缩解压器的工作原理、功能特性以及如何在移动设备上使用。 ZIP是一种常见的文件压缩格式,由菲尔·卡茨在1989年创建,其主要目的是通过算法减少文件大小,同时保持文件的完整性和可读性。...
在易语言中处理ZIP压缩文件是一项常见的任务,这涉及到文件的压缩与解压缩操作。本篇文章将详细讲解如何使用易语言来实现ZIP文件的解压功能,以及如何读取ZIP目录和特定的ZIP文件。 首先,我们要理解ZIP文件格式。...
这里只提供4个文件,zip.h,zip.cpp,unzip.h,unzip.cpp。 在VC6.0中,LONGLONG的报错,并修复了HZIP解压带有密码的压缩包,少了12个字节的错误。具体例子在头文件里有。 可以参考文章:...
《深入理解ZIP压缩解压技术及其应用》 ZIP文件格式是一种广泛使用的数据压缩和归档格式,它允许用户将多个文件或目录打包成一个单一的ZIP文件,方便存储、传输和分享。ZIP压缩解压器作为处理这种格式的工具,其高效...
7. **性能优化**:在实现zip压缩解压时,代码效率也是重要考虑因素。优化可能包括并行处理、内存管理策略和计算资源的高效利用。 8. **安全性**:现代的压缩工具还需要考虑加密功能,确保数据的安全性。例如,PKCS#...
本文将详细介绍一个基于C++的zip文件处理方法,它允许开发者通过仅包含几个头文件就能实现文件的压缩和解压缩功能。这个解决方案简洁易用,非常适合那些需要在C++项目中集成压缩功能的开发者。 标题中的"C++ zip解...