今天在弄一个东西,需要在PL/SQL中解压zip的压缩包,刚开始的时候是想着直接在PLSQL中调用java,在java里面调用unzip的shell命令来解析压缩文件,但是比较悲剧,一直老是失败,在尝试很多次之后,只能使用JAVA的大招来解决了,就是直接在java里面解压zip压缩文件,这个是基于java最基本的类来实现的。

具体代码:

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 unZip(String path)

{

int count = -1;

int index = -1;

String savepath = “”;

boolean flag = false;

//这里的\\根据系统不同,需要改变window是\\,linux是/

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 = isWantedFiles(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 isWantedFiles(String filename){

boolean flag = false;

if(filename.endsWith(“.txt”)|| filename.endsWith(“.csv”)|| filename.endsWith(“.exc”))

flag = true;

return flag;

}

public static void main(String[] args) {

UnZip.unZip(“E:\\test\\test.zip”);

}

}

java util zip.zipexc,JAVA解压zip压缩文件的实例相关推荐

  1. C#利用SharpZipLib解压或压缩文件夹实例操作

    最近要做一个项目涉及到C#中压缩与解压缩的问题的解决方法,大家分享. 这里主要解决文件夹包含文件夹的解压缩问题. 1)下载SharpZipLib.dll,在http://www.icsharpcode ...

  2. Linux 解压,压缩文件--tar 命令

    其实在Linux中,有许多种解压,压缩文件的命令,本博客介绍 tar 命令 如果Linux 系统不能运行tar 命令的朋友,先安装一下: 1)安装 1.apt-get 方式安装: sudo apt-g ...

  3. 关于使用zip4j实现解压与压缩文件,以及向压缩文件中添加文件 , 解压带密码的压缩文件 , 向压缩文件添加密码

    解压与压缩文件 1.Zip4j介绍 zip4j官网:http://www.lingala.net/zip4j/ 可以在"download"页面下载官方示例进行学习. 特征: 从Zi ...

  4. python 图像压缩后前端解压_Python在后台自动解压各种压缩文件的实现方法

    1.需求描述 编写一个 Python 程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点: os 模块综合应用 glob 模块综合应用 利用 g ...

  5. linux常用解压和压缩文件的命令

    linux常用解压和压缩文件的命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---- ...

  6. 递归遍历文件夹,递归解压,压缩文件,写解压和压缩过程的日志,

    前言:好久好久没另写一篇博客了,都是在更新QT常用函数里面内容,这瘟疫影响了我躁动奋进的心,又是大半年没努力了,气人! 这次做的是个多个压缩包 将压缩包里面的内容合并起来 打包成对应的压缩包的工具. ...

  7. dmsetup remove_all 这命令干啥的_分一个小知识,服务器上的一个解压与压缩文件的命令....

    在服务器上对文件做解压操作,是一件非常常见的操作,如安装软件就有很多是要用的到这个操作的.去官网下载一个压缩包,然后解压,编译,再安装.当然网上是能找到相应的命令操作.但是每次都要去找命令,就算记住了 ...

  8. ubuntu18.04怎么解压rar压缩文件

    ubuntu18.04怎么解压rar压缩文件 今天在自己的ubuntu18.04中得到一个rar的压缩文件,在windows下使用的winrar软件,在这里又安装不上,后来发现有一些开源的解压软件可以 ...

  9. Ubuntu下安装rar软件,解压rar压缩文件方法

    1.下载rar软件 wget https://www.rarlab.com/rar/rarlinux-x64-5.9.0.tar.gz 2.解压并安装rar软件 tar -zxvf rarlinux- ...

  10. Python解压7z压缩文件

    Python解压7z压缩文件 可以使用py7zr库: import py7zrarchive = py7zr.SevenZipFile(r'xxx.7z', mode='r')archive.extr ...

最新文章

  1. CVPR 2020满分论文 | FineGym:面向细粒度动作分析的层级化高质量数据集
  2. spring18:aop介绍
  3. Android开发面试题之Android四大组件
  4. Exchange Server2010系列之三:Exchange Server部署完成后的配置
  5. PostgresSQL支持geometry类型
  6. dreamweaver 8快捷键
  7. 2022年APP系统软件开发费用一览表介绍
  8. python可以下载百度文库_用python下载百度文库的代码
  9. 扒一扒有限元的那些书
  10. erlang使用httpc:request报错nxdomain
  11. 开源工单系统 python_PESCMS Ticket 客服工单系统 v1.2.0 发布
  12. 游戏开发技术——游戏引擎
  13. Matlab - 产生高斯噪声
  14. JavaScript里的var变量
  15. 【sourcetree】sourcetree连接云效项目,带密码(每个平台可能不一样)
  16. K8s命令篇-Kubernetes工作实用命令集结号
  17. 服务器w8系统如何重装系统,如何重装Windows8.1 Win8.1系统重装流程图解
  18. 分解到每一层!看透显卡PCB的奥秘
  19. KVM之libvirt 介绍
  20. linux基本功系列之uptime命令实战

热门文章

  1. ESP32-CAM使用过程的问题
  2. Android开发秘籍 第2版
  3. python字典操作技巧_python的字典使用方法大全
  4. 利用matlab处理表格数据,/如何用matlab处理多个excel表格中的数据
  5. (二)强网杯2019[随便注]
  6. Linux系列文章 —— vim的基本操作(误入vim退出请先按「ESC」再按:q不保存退出,相关操作请阅读本文)
  7. 使用XXLjob中间件进行定时任务的管理
  8. arm汇编的学习笔记,对比x86和arm(1)-从最简单的函数谈起
  9. 微信小程序 帮你算月供
  10. MATLAB 处理大数据