public static void main(String args[]) {
String file = "c://ssi.zip";
String saveRootDirectory = "c://test/";
new TestZip().zipFileRead(file, saveRootDirectory);
}
/**
*
* @Description: TODO(读取Zip信息,获得zip中所有的目录文件信息)
* @param设定文件
* @return void 返回类型
* @throws
*/
public void zipFileRead(String file, String saveRootDirectory) {
try {
// 获得zip信息
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) {// 是否为文件
unZipFile(zipElement, read, saveRootDirectory);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @Description: TODO(找到文件并读取解压到指定目录)
* @param 设定文件
* @return void 返回类型
* @throws
*/
public void unZipFile(ZipEntry ze, InputStream read,
String saveRootDirectory) throws FileNotFoundException, IOException {
// 如果只读取图片,自行判断就OK.
String fileName = ze.getName();
// 判断文件是否符合要求或者是指定的某一类型
// if (fileName.equals("WebRoot/WEB-INF/web.xml")) {
// 指定要解压出来的文件格式(这些格式可抽取放置在集合或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();
// }
// }
}
分享到:
相关推荐
本篇文章主要介绍了详解Java无需解压直接读取Zip文件和文件内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
其中包含一个使用java代码读取zip文件的项目示例源代码仅供学习参考
poi.zip java读取excel文件,其中bin压缩文件中含有jar包,eclipse导入时可直接使用;src压缩文件含有java源代码,需要阅读源码的童鞋可以下载使用
java ZIP和RAR 压缩包 目录结构。 1.ant.jar 解决java自带zip不能读取中文压缩包的问题; 2.需要安装WINRAR软件,以便解压rar文件,然后获取对应目录; 3.实现在线预览压缩包目录结构的功能;
java 读取zip Demo java 读取zip Demo
java读取局域网共享机器文件 java读取局域网共享机器文件
有些时候需要替换zip内的文件。 网上的办法大多是——先解压,然后对解压目录替换文件,最后再重新压缩。该办法需要比较繁琐,且需要一个临时目录。 于是想找无需解压的方案。 后来找到利用 ZipInputStream、...
java读取本地.db文件简单方法,sqlite数据库类型文件获取数据
java 按顺序读取文件 java 按顺序读取文件 java 按顺序读取文件
java读取TXT文件入库,java读取TXT文件入库,java读取TXT文件入库,
java读取文件方法大全 读取file流等技术
java读取本地图片文件获取流!java读取本地图片文件获取流!
/** * 根据 策划的配置表来生成 json * excel 目前使用的版本为2007,其他版本未测试... * 读取文件 一般用于本地文件的生成, * 二进制的方式,一般用于 后台管理界面 的文件上传后的处理。 * @author wgq * */
Java应用程序读取图片内容.zip Java应用程序读取图片内容.zip Java应用程序读取图片内容.zip
java读取txt文件,可以以文件路径构造这个流,:FileInputStream fin = new FileInputStream("d:/test.txt"); 然后使用这个流直接读取到文件,再使用reader构造BufferedReader,按行读取一整行的文本,作为字符串返回...
java上传文件 实时获取上传进度 上传RAR,ZIP 并指定解压路劲 上传之后会按照路劲进行解压
java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取...
Java读取、解析 GRIB2文件。测试数据:可下载GFS提供的:http://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/
java读取mpp文件,来生成mpp文件的jar包。
java 读取远程共享文件,一个操作简单的读取远程资源的控件。