- 浏览: 18940 次
- 性别:
- 来自: 武汉
文章分类
最新评论
package com.me.admin.test;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
/**
* 读取压缩包(.zip)里面的文件
*
* @author dj
*
*/
public class DecZip {
public static void main(String args[]) {
String file = "E://flipbook.zip";
String saveRootDirectory="E://test/";
zipFileRead(file,saveRootDirectory);
}
private static void zipFileRead(String file,String saveRootDirectory) {
try {
ZipFile zipFile = new ZipFile(file);
@SuppressWarnings("unchecked")
Enumeration<ZipEntry> enu = (Enumeration<ZipEntry>) zipFile.entries();
while (enu.hasMoreElements()) {
ZipEntry zipElement = (ZipEntry) enu.nextElement();
InputStream read = zipFile.getInputStream(zipElement);
String fileName = zipElement.getName();
if (fileName != null && fileName.indexOf(".") != -1) {//是否为文件 (文件带有路径如:/images/a.jpg)
execute(zipElement,read,saveRootDirectory);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void execute(ZipEntry ze, InputStream read,String saveRootDirectory)
throws FileNotFoundException, IOException {
//如果只读取图片,自行判断就OK.
String fileName = ze.getName();
// if(fileName.lastIndexOf(".jpg")!= -1 || fileName.lastIndexOf(".bmp")!= -1
// || fileName.lastIndexOf(".jpeg")!= -1){//指定要解压出来的文件格式(这些格式可抽取放置在集合或String数组通过参数传递进来,方法更通用)
File file = new File(saveRootDirectory + fileName);
if (!file.exists()) {
File rootDirectoryFile = new File(file.getParent());
//创建目录
if (!rootDirectoryFile.exists()) {
boolean ifSuccess = rootDirectoryFile.mkdirs();
if (ifSuccess) {
System.out.println("文件夹创建成功!");
} else {
System.out.println("文件创建失败!");
}
}
//创建文件
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//写入文件
BufferedOutputStream write = new BufferedOutputStream(new FileOutputStream(file));
int cha = 0;
while ((cha = read.read()) != -1) {
write.write(cha);
}
//要注意IO流关闭的先后顺序
write.flush();
write.close();
read.close();
// }
}
}
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
/**
* 读取压缩包(.zip)里面的文件
*
* @author dj
*
*/
public class DecZip {
public static void main(String args[]) {
String file = "E://flipbook.zip";
String saveRootDirectory="E://test/";
zipFileRead(file,saveRootDirectory);
}
private static void zipFileRead(String file,String saveRootDirectory) {
try {
ZipFile zipFile = new ZipFile(file);
@SuppressWarnings("unchecked")
Enumeration<ZipEntry> enu = (Enumeration<ZipEntry>) zipFile.entries();
while (enu.hasMoreElements()) {
ZipEntry zipElement = (ZipEntry) enu.nextElement();
InputStream read = zipFile.getInputStream(zipElement);
String fileName = zipElement.getName();
if (fileName != null && fileName.indexOf(".") != -1) {//是否为文件 (文件带有路径如:/images/a.jpg)
execute(zipElement,read,saveRootDirectory);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void execute(ZipEntry ze, InputStream read,String saveRootDirectory)
throws FileNotFoundException, IOException {
//如果只读取图片,自行判断就OK.
String fileName = ze.getName();
// if(fileName.lastIndexOf(".jpg")!= -1 || fileName.lastIndexOf(".bmp")!= -1
// || fileName.lastIndexOf(".jpeg")!= -1){//指定要解压出来的文件格式(这些格式可抽取放置在集合或String数组通过参数传递进来,方法更通用)
File file = new File(saveRootDirectory + fileName);
if (!file.exists()) {
File rootDirectoryFile = new File(file.getParent());
//创建目录
if (!rootDirectoryFile.exists()) {
boolean ifSuccess = rootDirectoryFile.mkdirs();
if (ifSuccess) {
System.out.println("文件夹创建成功!");
} else {
System.out.println("文件创建失败!");
}
}
//创建文件
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//写入文件
BufferedOutputStream write = new BufferedOutputStream(new FileOutputStream(file));
int cha = 0;
while ((cha = read.read()) != -1) {
write.write(cha);
}
//要注意IO流关闭的先后顺序
write.flush();
write.close();
read.close();
// }
}
}
发表评论
-
pdf生成
2013-05-20 10:40 902pd4ml技术html导出pdf,支持中文,兼容Linux ... -
谷歌验证码
2013-04-09 12:12 908原创随笔】强大的谷歌开源免费验证码reCAPTCHA ... -
spring mvc
2013-01-14 17:33 574Spring MVC 框架搭建及详解 您的评价: ... -
实现基于Spring框架应用的权限控制系统
2013-01-02 11:34 641实现基于Spring框架应用 ... -
url重写
2012-11-19 17:26 749>猎头职位: 陕西: 西安:senior java en ... -
发送邮件
2012-11-15 15:36 502package coffeecatwebmail; impo ... -
获得ip
2012-11-13 16:24 414public class IP { /** * * ... -
怎么修改mysql数据库的密码
2012-11-12 10:01 441GRANT ALL PRIVILEGES ON *.* TO ... -
密码加密
2012-11-08 10:55 439public class MD5 { public stat ... -
自己做的上線的網站
2012-10-09 10:12 537http://www.polyvision.com.hk/ ... -
有用文檔
2012-09-13 18:18 511<pre name="code" c ... -
java中的文件上傳
2012-08-06 14:38 621[Java] Spring2文件上传 ... -
關於java學習的友情鏈接
2012-08-06 14:26 378http://www.g4studio.org/forum-5 ... -
object C
2012-07-27 17:37 505http://www.verycd.com/entrie ... -
Struts2基于注解的Action配置
2012-07-18 16:49 601Struts2基于注解的Action配置 ... -
时间转换的单例模式
2012-07-18 10:21 606/* *时间转换 */ package com.loko ... -
s2s2h3搭建
2012-07-11 18:08 598SSH 环境搭建完整教程 一、SSH ... -
ssh搭建
2012-07-11 18:00 756分享 返回分享首页» 分享 ... -
stuts2配置
2012-07-11 17:49 476struts2环境配置 struts2框架 ... -
转码的方案
2012-07-10 17:48 4Eclipse编码格式修改 2010-07-14 2:54 ...
相关推荐
本篇文章主要介绍了详解Java无需解压直接读取Zip文件和文件内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
编程方式读写ZIP文件(C++).rar
其中包含一个使用java代码读取zip文件的项目示例源代码仅供学习参考
js解压读取zip文件
基于ZipLib(C语言读写zip文件的库)开发的封装类,方便压缩和解压zip文件,附演示代码
在Symbian OS中读取ZIP文件, 在Symbian OS中读取ZIP文件。
递归读取zip文件及其子文件结构 java工具类,开箱即用
poi.zip java读取excel文件,其中bin压缩文件中含有jar包,eclipse导入时可直接使用;src压缩文件含有java源代码,需要阅读源码的童鞋可以下载使用
Python-xlsx 主要用于读写Microsoft Office 2007及更高版本.xlsx文件的库。Python-xlsx 也配套库了对ppt、doc文件读写的python-PPTX和python-DOCX。 标签:Python
分享一个读取远程文件的php函数类,比较好用。需要的朋友可以下载参考,如果朋友们有更好的类可以发送过来与我们共享。
NULL 博文链接:https://richling.iteye.com/blog/740822
读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码(还是以支付宝对账单为例)
主要介绍了Python3读取zip文件信息的方法,涉及Python3 使用zipfile模块操作zip文件的相关技巧,需要的朋友可以参考下
ajaxfileupload1.0.zipajaxfileupload1.0.zipajaxfileupload1.0.zip
主要是利用ZipArchive编写的操作Flex库,里面有根据自己的理解编写的例子,也有库自带的例子,可以自己参考
本文实例讲述了PHP读取zip文件的方法。分享给大家供大家参考,具体如下: <?php $zip = zip_open(111.zip); if ($zip) { while ($zip_entry = zip_read($zip)) { echo Name: . zip_entry_name($zip_entry) . n; ...
介绍一个php读取csv文件类。 csv是逗号分隔值文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开。 csv(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式。
使用C++分别在linux和windows系统上读某路径下的文件和文件夹列表,自己写的仅供参考
VC读写操作文件.zip visual c++读写操作文件.zip