- 浏览: 240405 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 11021.基于对象和面向对象 Java是一种面向对象的语言 ... -
应该被记住的 8 位Java人物
2012-07-04 17:53 1466这里列举了 8 个 Java 人物,他们创建了对 Ja ... -
Struts基本原理
2012-07-04 17:48 1550上图来源于Struts2官方站点,是Struts 2 的整 ... -
Spring事务配置的五种方式
2012-07-04 17:45 1478Spring配置文件中关于事务配置总是由三个组成部分,分别是D ... -
MyEclipse中Ctrl+Shift+F格式化代码时不换行
2012-06-12 21:04 2736Eclipse 格式化代码时不换行 每次用Eclipse自带 ... -
MyEclipse 解决内存溢出
2012-06-12 20:57 23031、修改eclipse.ini在Myeclipse安装目录下G ... -
J2EE体系结构图或三层结构图
2012-05-05 23:55 4853J2EE体系结构图或三层结构图 J2EE体系结构图: ... -
struts2<s:iterator>遍历map小结
2012-05-05 23:34 26171.MapAction.java package com.u ... -
java 调用.net DLL的方法
2012-04-30 16:18 1537背景: 近日一个ja ... -
Windows 任务管理器 PF使用率 总数 核心内存 物理内存
2012-04-28 13:14 15551、【CPU 使用】 CPU的使用百分比,柱状图表示实时的 ... -
框架StringUtil
2012-04-25 21:47 1404package com.common.string; i ... -
在windowsXP中如何卸载Oracle10g
2012-03-19 21:45 1351软件环境: 1、Windows XP ... -
MD5
2012-03-15 22:22 985package com.kingsoft.main; / ... -
cookie与session的区别和联系
2012-02-01 11:58 1177最佳答案具体来说cookie ... -
《网站开发人员应该知道的61件事》[解读]
2011-12-03 21:36 1699看了阮一峰翻译的《 ... -
JAVA字符串的方法
2011-11-28 21:04 10721、length() 字符串的长度 例:char chars ... -
JAVA中线程同步方法
2011-11-28 21:01 20461 wait方法: 该方法属于Object的方 ... -
JAVA几个常见错误简析
2011-11-28 20:58 1032JAVA几个常见错误简析: 1,空指针错误 java ... -
Eclipse中使用debug技术
2011-11-28 20:52 1354一、怎样启动debug模式 1、在程序中设置断点 ... -
从字符串中检索输出数字
2011-10-31 23:59 995Stirng 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环境下开发并测试通过,但请注意,它可能在更新的开发环境中未经...
内容概要:qt5 调用 7zip库的压缩解压功能,且通过信号发出压缩解压的进度,主程序在bin目录中。 适用人群:qt5开发人员 适用场景:用的编译环境是qt5.12.2+vs2017,系统是windows10. lib目录中OleAut32.Lib和User32....
在IT行业中,文件压缩是一种常见...总结,ZIP压缩和解压是IT领域中常用的数据处理技术,理解其原理和实现方法对于日常开发工作非常重要。封装自己的ZIP处理接口可以提高代码复用性和易用性,使文件压缩和解压更加便捷。
VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件,网上很多源码不好用,所以就自己做了一个。原始代码是VC++的用VS2019编译了一个,DLL封装了下。调用很简单 '调用方法如下: 'CreateZipFileA "C:\123", "C:\123.zip...
总的来说,这个ZIP压缩解压组件提供了一套完整的解决方案,不仅涵盖了基本的压缩和解压功能,还考虑到了安全性以及与Delphi开发环境的良好集成。对于任何需要处理ZIP文件的Delphi开发者来说,它都是一款非常实用的...
Visual Basic Script(VBS)作为Windows环境中的一种常用脚本语言,支持多种文件操作功能,包括ZIP文件的压缩和解压缩。 #### 一、基础知识简介 在开始之前,我们需要了解几个基本概念: 1. **Shell.Application ...
本主题将详细介绍如何利用XE4自带的System.Zip单元来实现这一功能,并探讨如何在Delphi7中调用这些功能。 首先,`System.Zip`单元是Embarcadero Delphi XE4引入的一个重要组件,它提供了对ZIP文件格式的支持,包括...
`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年创建,其主要目的是通过算法减少文件大小,同时保持文件的完整性和可读性。...
这里只提供4个文件,zip.h,zip.cpp,unzip.h,unzip.cpp。 在VC6.0中,LONGLONG的报错,并修复了HZIP解压带有密码的压缩包,少了12个字节的错误。具体例子在头文件里有。 可以参考文章:...
在易语言中处理ZIP压缩文件是一项常见的任务,这涉及到文件的压缩与解压缩操作。本篇文章将详细讲解如何使用易语言来实现ZIP文件的解压功能,以及如何读取ZIP目录和特定的ZIP文件。 首先,我们要理解ZIP文件格式。...
《深入理解ZIP压缩解压技术及其应用》 ZIP文件格式是一种广泛使用的数据压缩和归档格式,它允许用户将多个文件或目录打包成一个单一的ZIP文件,方便存储、传输和分享。ZIP压缩解压器作为处理这种格式的工具,其高效...
7. **性能优化**:在实现zip压缩解压时,代码效率也是重要考虑因素。优化可能包括并行处理、内存管理策略和计算资源的高效利用。 8. **安全性**:现代的压缩工具还需要考虑加密功能,确保数据的安全性。例如,PKCS#...