- 浏览: 481038 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
pyl574069214:
1楼的方法可用
iText操作错误:PdfReader not opened with owner password -
pyl574069214:
谢谢
iText操作错误:PdfReader not opened with owner password -
ggyyso:
解决方法:import java.lang.reflect.F ...
iText操作错误:PdfReader not opened with owner password -
思念-悲伤:
谢了!!!
Exception loading sessions from persistent storage -
u012380013:
加上bos.flush(); 是成功的
Java解压缩zip文件
下面实现的功能是zip文件中的图像文件解压到当前目录下,用jdk自带的处理zip文件的代码处理的,但是不能处理中文名称的文件,要不然就会出错。
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; /** * 不能处理中文文件名 */ public class UnZip { private static final int buffer = 2048; public static void main(String[] args) { unZip("D:\\ss\\test.zip"); } public static void unZip(String path) { int count = -1; int index = -1; String savepath = ""; boolean flag = false; savepath = path.substring(0, path.lastIndexOf("\\")) + "\\"; try { BufferedOutputStream bos = null; ZipEntry entry = null; FileInputStream fis = new FileInputStream(path); ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); while((entry = zis.getNextEntry()) != null) { byte data[] = new byte[buffer]; String temp = entry.getName(); flag = isPics(temp); if(!flag) continue; index = temp.lastIndexOf("/"); if(index > -1) temp = temp.substring(index+1); temp = savepath + temp; File f = new File(temp); f.createNewFile(); FileOutputStream fos = new FileOutputStream(f); bos = new BufferedOutputStream(fos, buffer); while((count = zis.read(data, 0, buffer)) != -1) { bos.write(data, 0, count); } bos.flush(); bos.close(); } zis.close(); } catch (Exception e) { e.printStackTrace(); } } public static boolean isPics(String filename) { boolean flag = false; if(filename.endsWith(".jpg") || filename.endsWith(".gif") || filename.endsWith(".bmp") || filename.endsWith(".png")) flag = true; return flag; } }
下面是用的apache的zip文件处理包进行处理的,可以处理中文名称的文件,功能跟上面的一样。
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; /** * 可以处理中文文件名 */ public class UnZip2 { private static final int buffer = 2048; public static void main(String[] args) { unZip("D:\\ss\\test.zip"); } public static void unZip(String path) { int count = -1; int index = -1; String savepath = ""; boolean flag = false; File file = null; InputStream is = null; FileOutputStream fos = null; BufferedOutputStream bos = null; savepath = path.substring(0, path.lastIndexOf("\\")) + "\\"; try { ZipFile zipFile = new ZipFile(path); Enumeration<?> entries = zipFile.getEntries(); while(entries.hasMoreElements()) { byte buf[] = new byte[buffer]; ZipEntry entry = (ZipEntry)entries.nextElement(); String filename = entry.getName(); index = filename.lastIndexOf("/"); if(index > -1) filename = filename.substring(index+1); filename = savepath + filename; flag = isPics(filename); if(!flag) continue; file = new File(filename); file.createNewFile(); is = zipFile.getInputStream(entry); fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos, buffer); while((count = is.read(buf)) > -1) { bos.write(buf, 0, count ); } fos.close(); is.close(); } zipFile.close(); }catch(IOException ioe){ ioe.printStackTrace(); } } public static boolean isPics(String filename) { boolean flag = false; if(filename.endsWith(".jpg") || filename.endsWith(".gif") || filename.endsWith(".bmp") || filename.endsWith(".png")) flag = true; return flag; } }
评论
3 楼
u012380013
2014-05-13
加上bos.flush(); 是成功的
2 楼
yrclsgo
2013-07-11
没有 bos.flush(); 目测不会成功
1 楼
longzy87
2012-06-01
发表评论
-
java中final关键字的使用
2013-05-31 10:04 5127java中final关键字的使用 1. 用final修饰基 ... -
Java类的初始化
2010-02-01 18:28 1260如下面代码 public class Test1 ... -
Java之Exception与try语句
2010-02-01 18:21 1397代码如下: public class Test1 ... -
java之对象引用static变量
2010-01-18 09:53 1629如下面代码 public class Test { ... -
java之catch语句
2010-01-13 20:16 2046如下面代码: public class Test { ... -
java之static变量
2010-01-13 20:07 1221如下面代码: public class Test { ... -
java之继承
2010-01-13 20:03 1144如下面代码: public class Test { ... -
java内部类
2010-01-13 10:46 1154如下面代码: public class OuterIn ... -
java基础之"=="操作符
2010-01-12 19:44 1150如下: public class Test { ... -
java之动态绑定和静态绑定
2010-01-11 11:22 1393如下面代码: package cn.lifx.test; ... -
java之String变量和“==”操作符(2)
2010-01-11 10:51 1383如下面代码: public class StringTest ... -
java之String变量和“==”操作符(1)
2010-01-06 16:35 1246先看下面的代码,有助于后面的理解。 public cl ... -
汉字截取问题
2010-01-04 15:01 1296如下 public class Test { p ... -
求几个整数的最小公倍数和最大公约数
2009-12-31 16:23 1445下面的方法是用递归解决的。如求几个整数的最小公倍数 ... -
java之final, finally, finalize的区别
2009-12-25 15:43 15591. final 用于声明属性,方法和类,分别表示属性不 ... -
java之抽象类和接口
2009-12-25 11:15 1227如下代码,是使用接口时需要注意的问题。 public int ... -
java之try与finally语句(2)
2009-12-25 11:07 1440接上一篇,跟上一篇代码差不多,就是修改了a的值为double类 ... -
java之try与finally语句
2009-12-24 21:42 1588如下面的代码,结果就不解释了。 public clas ... -
java的静态方法和非静态方法
2009-12-24 11:11 1325如下面的代码 public class Test { ... -
接着看java线程问题
2009-12-18 19:26 1075接上一篇,继续看看java线程问题。当然,下面的程序或者说用法 ...
相关推荐
在Java编程语言中,解压缩ZIP文件是一项常见的任务,特别是在处理数据传输、文件打包和部署等场景下。本文将深入探讨如何使用Java API来解压缩ZIP文件,包括基本概念、核心类库以及具体实现步骤。 ZIP文件是一种...
### Java解压缩ZIP文件:深度解析与实践 #### 核心知识点概览: - **Java I/O与网络数据流统一接口**:Java的1.1版本提供了统一的接口来处理I/O数据流与网络数据流,这使得数据的压缩、传输和解压缩变得简单而高效...
二、Java解压缩ZIP文件 解压缩ZIP文件则可以使用`ZipInputStream`。以下是一个简单的解压示例: ```java import java.io.*; import java.util.zip.*; public class UnzipExample { public static void main...
zip格式是一种免费的压缩文件格式,我们可以通过java类库编写函数来解压缩它,实现winwar这类软件的功能。
`ZipInputStream`是用于读取ZIP文件的输入流,而`ZipEntry`代表ZIP文件中的一个条目,即一个单独的压缩文件。 解压ZIP文件的基本步骤如下: 1. 创建一个`FileInputStream`对象,指向ZIP文件路径。 2. 使用`...
本篇文章将深入探讨如何使用Java API来实现ZIP文件的解压缩,并提供详细的注释帮助理解代码逻辑。 首先,我们需要了解Java中的`java.util.zip`包,这个包提供了处理压缩文件格式(如ZIP和GZIP)所需的所有类。其中...
博文链接:https://peng-jian-ming.iteye.com/blog/190572
本系统运用LZ77字典算法、懒惰匹配算法和Huffman编码算法,使用Java语言在Jbuilder2006环境下设计了使用GZIP算法对文件压缩与解压缩的实现程序。用户可以根据自己的需求,使用此程序方便地对文件进行压缩或者解压缩...
Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...
以下是解压缩ZIP文件的基本步骤: 1. 创建一个`FileInputStream`对象,指向ZIP文件。 2. 使用`FileInputStream`创建`ZipInputStream`对象。 3. 通过`ZipInputStream`的`getNextEntry()`方法遍历ZIP文件中的每个条目...
Java的`java.util.zip`包提供了对ZIP文件的支持,包括`ZipInputStream`和`ZipOutputStream`类用于读写ZIP文件,以及`ZipEntry`类来代表ZIP文件中的单个条目。当我们尝试用这些类解压含有中文名的文件时,如果未正确...
在本篇文章中,我们将探讨 Java 解压缩文件的操作,包括解压缩 ZIP 和 JAR 文件,并讨论如何使用 Java 解压缩 RAR 文件。 解压缩 ZIP 和 JAR 文件 ZIP 和 JAR 文件是两种常见的压缩文件格式,Java 提供了 ...
/** * 根据 策划的配置表来生成 json * excel 目前使用的版本为2007,其他版本未测试... * 读取文件 一般用于本地文件的生成, * 二进制的方式,一般用于 后台管理界面 的文件上传后的处理。 * @author wgq * */
本主题将深入讲解如何使用Java来解压缩ZIP文件,并介绍相关库和具体实现方法。 标题提到的"java解压缩zip代码与用到的jar包"主要涉及了Java对ZIP文件的操作,以及一个名为`ant.jar`的第三方库。`ant.jar`是Apache ...
本篇文章将详细讲解如何使用Java来解压缩ZIP格式的压缩文件,特别是那些包含中文文件名的压缩包。我们将探讨相关API的使用,以及解决中文文件名在解压过程中可能出现的问题。 1. **Java的压缩与解压缩库**: Java...
- **解压缩任务**:使用`unzip`任务可以解压缩Zip文件到指定的目标目录。 - **Ant脚本**:Ant通过XML格式的构建文件来定义任务,这使得整个过程可配置且易于自动化。 在实际应用中,如果你的项目依赖于这两个库,...