- 浏览: 707642 次
- 来自: ...
文章分类
最新评论
-
ranguisheng:
可以加点注释,代码不便于阅读.
用java实现数据库连接池的一个简单示例 -
abcd880129:
这样写的话,还要用专门的下载工具,不然,只能下到一个为空的ex ...
ZK下载文件时,不在服务器生成文件直接下载 -
234369425:
同上,是20
java计算阶乘 -
CodeToMyLaw:
如果目录中含有中文呢?
[^\x00-\xff] 中文的 ...
js验证文件目录格式的正确性 -
yanzhoupuzhang:
加了,还是报那个错误!
org.apache.commons.dbcp.BasicDataSource的解决方法
java.util.zip只支持UTF-8,Ant里面可以指定编码
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; public class ZipTest { /**解压zip*/ private ZipInputStream zipIn; /**压缩zip*/ private ZipOutputStream zipOut; private ZipEntry zipEntry; private static int bufSize; private byte[] buf; private int readedBytes; public ZipTest() { this(512); } public ZipTest(int bufSize) { this.bufSize = bufSize; this.buf = new byte[this.bufSize]; } /** * 压缩文件夹的文件 * @param zipDirectory 需要压缩的文件夹名 */ public void doZip(String zipDirectory) { File file; File zipDir; zipDir = new File(zipDirectory); //压缩后生成的zip文件名 String zipFileName = zipDir.getName() + ".zip"; try { this.zipOut = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFileName))); handleDir(zipDir,this.zipOut); this.zipOut.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 由doZip调用,递归完成目录文件读取 * @param dir * @param zipOut * @throws IOException */ private void handleDir(File dir,ZipOutputStream zipOut) throws IOException { FileInputStream fileIn; File[] files; files = dir.listFiles(); if(files.length==0) { //如果目录为空,则单独创建 //ZipEntry的isDirectory()方法中,目录是以"/"结尾 this.zipOut.putNextEntry(new ZipEntry(dir.toString()+"/")); this.zipOut.closeEntry(); } else { //如果目录不为空,则分别处理目录和文件 for(int i=0;i<files.length;i++) { File fileName=(File)files[i]; if(fileName.isDirectory()) { handleDir(fileName,this.zipOut); } else { fileIn = new FileInputStream(fileName); this.zipOut.putNextEntry(new ZipEntry(fileName.toString())); while((this.readedBytes=fileIn.read(this.buf))>0) { this.zipOut.write(this.buf , 0 , this.readedBytes); } this.zipOut.closeEntry(); } } } } /** * 解压指定zip文件 * @param unZipfileName 需要解压的zip文件名 */ public void unZip(String unZipfileName) { FileOutputStream fileOut; File file; try { this.zipIn = new ZipInputStream(new BufferedInputStream(new FileInputStream(unZipfileName))); while((this.zipEntry= this.zipIn.getNextEntry())!=null) { file = new File(this.zipEntry.getName()); if(this.zipEntry.isDirectory()) { file.mkdirs(); } else { //如果指定目录不存在,则创建 File parent = file.getParentFile(); if(!parent.exists()) { parent.mkdirs(); } fileOut = new FileOutputStream(file); while((this.readedBytes = this.zipIn.read(this.buf))>0) { fileOut.write(this.buf,0,this.readedBytes); } fileOut.close(); } this.zipIn.closeEntry(); } } catch (Exception e) { e.printStackTrace(); } } public void setBufSize(int bufSize) { this.bufSize = bufSize; } public static void main(String args[]) throws Exception { ZipTest ziptest = new ZipTest(); //ziptest.doZip("D:\\tmp"); ziptest.unZip("D:\\workspace\\iipsmssend\\tmp.zip"); } }
发表评论
-
Json,Gson,FastJson解析笔记
2015-06-13 17:31 908Json 1.将JavaBean转换成Json对象: pu ... -
String与InputStream互转的几种方法
2015-06-13 17:24 739/** * 利用BufferedReader ... -
Java压缩图片
2015-06-06 15:49 1113package com.yipai.ut ... -
HashMap的工作原理
2013-11-18 22:58 854本文由 ImportNew - 唐小娟 翻译自 Javarev ... -
一道多线程题目的解决方案
2013-08-03 17:24 810在iteye上看到的一道多线程的题目,参考了一下网友的实现,那 ... -
java socket 多线程网络传输多个文件
2013-06-25 14:57 876由于需要研究了下用 java socket 传输文件,由于需要 ... -
处理大数字
2011-04-30 13:40 1011/** * 处理大数字 * & ... -
生成随机数
2011-04-30 13:39 1238/** * 生成随机数 */ public cl ... -
转换数字的进制
2011-04-30 13:38 1316/** * * 转换数字的进制 */ pu ... -
数字的舍入
2011-04-30 13:37 1105/** * 数字的舍入 * */ publi ... -
格式化数字
2011-04-30 13:36 1166/** * 格式化数字的输出 * */ pu ... -
数字与其封装类之间的转换
2011-04-30 13:16 848/** * * 数字与其封装类之间的转换 * ... -
Adapter适配器模式
2011-04-24 21:38 873/** * Adapter适配器模式<br> ... -
Factory工厂模式
2011-04-24 21:36 898/** * 模式名称:工厂模式 * 模式特征:通过 ... -
Singleton单例模式
2011-04-24 21:35 994public class SingletonA { ... -
排序类
2011-04-24 20:38 1013/** * 定义数字排序的 ... -
方法和变量在继承时的覆盖与隐藏
2011-04-24 20:30 973public class Parent2 { // ... -
类的加载顺序
2011-04-24 20:27 860/** * 父类 * */ public ... -
自定义形状类(继承的运用)
2011-04-10 17:18 1122/** * * 自定义图形的基类 */ p ... -
myeclipse8.6 注册码
2011-04-10 14:17 1160package com.springemail; i ...
相关推荐
### 使用 Java.util.zip 包实现数据压缩与解压 在计算机科学领域,数据压缩技术是一项重要的功能,它能够帮助减少存储空间的需求以及提高网络传输效率。本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java....
总结一下,`java.util.zip` 包提供了解压缩和压缩文件的强大功能,这对于任何需要处理ZIP文件的Java开发者来说都是必不可少的工具。无论你是想解压下载的库,还是想将项目文件打包成ZIP,这个包都能提供简洁且高效的...
在Java编程语言中,`java.util.zip`包提供了对压缩文件格式的支持,如ZIP和GZ等。然而,早期版本的Java在处理包含非ASCII字符(例如中文字符)的文件名时存在一些问题。这是因为ZIP文件格式本身是支持Unicode编码的...
下面我们将详细探讨如何使用这些类来实现ZIP文件的压缩和解压功能。 **一、压缩ZIP文件** 1. **使用ZipOutputStream** `ZipOutputStream`是处理ZIP文件输出的核心类,它继承自`FilterOutputStream`。我们可以通过...
Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...
在使用Apache Tomcat服务器时,有时会遇到启动异常的情况,其中一种常见的错误是`java.util.zip.ZipException`。这个异常通常表明在处理ZIP或JAR文件时遇到了问题,可能是因为文件损坏、格式不正确或者无法打开。在...
在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对ZIP文件格式的理解。本文将深入探讨如何使用Java实现这一功能,同时也会提及`UnZip.java`和`UnZip2.java`这两个文件可能包含的实现...
本文将深入探讨如何使用Java实现ZIP文件的压缩与解压,重点讲解核心API,如`java.util.zip`包中的`ZipOutputStream`和`ZipInputStream`。 首先,我们来了解一下ZIP文件格式。ZIP是一种用于存储多个文件到一个单一...
本文将深入探讨如何使用Java实现ZIP和RAR类型的压缩与解压操作,以及相关知识点。 首先,我们来看ZIP文件格式。ZIP是一种广泛使用的文件压缩格式,其在Java中的处理主要通过`java.util.zip`包。这个包提供了多个类...
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
总结来说,这段Java代码展示了如何使用`ZipInputStream`和`ZipOutputStream`来替换ZIP文件中的文件,而无需先解压再重新压缩。这种方法减少了磁盘空间的占用,提高了处理效率,特别适用于处理大文件或需要高效操作...
本文将深入探讨如何使用Java来获取ZIP文件的名称以及如何高效地解压缩这些文件,特别是通过多线程来提高性能。 首先,我们需要引入Java的内置库`java.util.zip`,它提供了处理ZIP文件的类和接口。主要使用的类有`...
本文将详细讲解如何使用Java实现将多目录多层级的文件打成ZIP包,以及如何解压这些ZIP包。我们将主要关注`FileUtils.java`这个类,以及依赖的`commons-compress-1.1.jar`库。 `commons-compress-1.1.jar`是Apache ...
本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...
在Java编程环境中,处理压缩和解压缩文件是一...以上是关于Java实现带密码的ZIP文件压缩和解压的基本概念和实现细节。通过深入理解这些知识点,开发者可以构建自己的安全文件处理工具,满足对数据隐私和安全性的需求。
标题提到的"用java解压*.zip*.rar*.gz*.bz*.bz2等压缩文件含jar"涉及到Java对多种压缩格式的支持,包括ZIP、RAR、GZ、BZ和BZ2。这些文件格式在软件开发、数据传输和存储中广泛使用。下面我们将详细讨论如何使用Java...
本篇文章将详细探讨如何使用Java内置的IO流来实现文件夹的zip压缩以及zip压缩包的解压,无需依赖其他的第三方库如Apache Commons IO或JavaZip。 ### 文件夹压缩成ZIP 首先,我们需要理解如何将一个文件夹及其内容...
总之,Java通过`java.util.zip`包提供了方便的API来处理ZIP文件,使得在后台服务中实现文件的压缩和解压变得简单高效。`ant.jar`库虽然主要用于构建任务,但其内部的`Zip`任务也可以用于ZIP文件操作,提供了另一种...
本话题聚焦于使用Java实现的zip文件定时解压功能,这是一个常见的需求,特别是在数据备份、文件同步或自动化工作流中。下面我们将深入探讨如何使用Java来实现这一功能。 首先,我们需要了解Java对zip文件的支持。...
import java.util.Enumeration; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream; /** * * 类名: ZipUtil.java * 描述:压缩...