java gzip 多个文件_Java Zip多文件压缩和 GZIP压缩

/**

* 多文件压缩

*

* @author Administrator

*

*/

public class ZipCompress {

public static void main(String args[]) {

String[] filepaths = { "D:\\zip1.txt", "D:\\zip2.txt" };

try {

FileOutputStream f = new FileOutputStream("D://test.zip");

// 输出校验流,采用Adler32更快

CheckedOutputStream csum = new CheckedOutputStream(f, new Adler32());

//创建压缩输出流

ZipOutputStream zos = new ZipOutputStream(csum);

BufferedOutputStream out = new BufferedOutputStream(zos);

//设置Zip文件注释

zos.setComment("A test of java Zipping");

for (String s : filepaths) {

System.out.println("Writing file " + s);

//针对单个文件建立读取流

BufferedReader bin = new BufferedReader(new FileReader(s));

//ZipEntry ZIP 文件条目

//putNextEntry 写入新条目,并定位到新条目开始处

zos.putNextEntry(new ZipEntry(s));

int c;

while ((c = bin.read()) != -1) {

out.write(c);

}

bin.close();

out.flush();

}

out.close();

FileInputStream fi = new FileInputStream("D://test.zip");

CheckedInputStream csumi = new CheckedInputStream(fi, new Adler32());

ZipInputStream in2 = new ZipInputStream(csumi);

BufferedInputStream bis = new BufferedInputStream(in2);

ZipEntry ze;

while ((ze = in2.getNextEntry()) != null) {

System.out.println("Reader File " + ze);

int x;

while ((x = bis.read()) != -1)

System.out.println(x);

}

//利用ZipFile解压压缩文件

ZipFile zf = new ZipFile("D:\\test.zip");

Enumeration e = zf.entries();

while(e.hasMoreElements()){

ZipEntry ze2 = (ZipEntry) e.nextElement();

System.out.println("File name : "+ze2);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

/**

* 文件压缩

* 把文件压缩成GZIP 单一的流数据 并不是互异的数据

* GZIPOutputStream的使用

* @author Administrator

*

*/

public class GzipPcompress {

public static void main(String args[]) {

try {

BufferedReader in = new BufferedReader(new FileReader("D:\\gziptest.txt"));

BufferedOutputStream out = new BufferedOutputStream(

new GZIPOutputStream(new FileOutputStream("D:\\test.gz")));

System.out.println("Writing file");

int c;

while ((c = in.read()) != -1) {

out.write(c);

}

in.close();

out.close();

System.out.println("Reading file");

BufferedReader in2 = new BufferedReader(new InputStreamReader(

new GZIPInputStream(new FileInputStream("D:\\test.gz"))));

String s;

while((s=in2.readLine()) != null){

System.out.println(s);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu文件压缩、解压缩、打包解包(带软链接)、拷贝文件(带软链接)、拷贝文件夹

参考:Ubuntu 命令解压文件大全 作者:一只青木呀 发布时间: 2020-08-04 17:18:55 网址:https://blog.csdn.net/weixin_45309916/article/details/107791294 参考:打包和压缩的概念和区别 作者:不浪漫的罪名L…

java 内存和实际内存_请问更改eclipse内存和更改jvm内存是一会事儿吗?

RSS列 表示, 程序占用了多少物理内存。 虚拟内存可以不用考虑,它并不占用实际物理内存。 (2). top 命令也可以 其中VIRT(或VSS)列 表示,程序占用了多少虚拟内存。 同 ps aux 中的 VSZ列 RES列 表示, 程序占用了多少物理内存。同 p…

thinkphp 编辑器kindeditor

首先,去官网下载最新版的kindeditor,然后把里面asp,jsp,net,example的全删除,然后改名为editor放进public(最外层目录的public)文件夹里面 在目录lib目录建立ORG文件夹(个…

equation

equation 题目描述 有一棵n 个点的以 1 为根的树, 以及 n 个整数变量xi。树上 i 的父亲是 fi, 每条边(i,fi)有一个权值wi,表示一个方程 xi xfi wi,这 n-1个方程构成了一个方程组。 现在给出q 个操作,有两种类型: 1 u v s&#x…

Ubuntu开启FTP服务方法(Ubuntu和Windows之间互传文件需要开启——服务器端)

目录Ubuntu开启FTP服务步骤:Ubuntu开启FTP服务步骤: 工作中Ubuntu和Windows之间互传文件,需要服务器端(Ubuntu)开启FTP服务,客户端(Windows)安装FileZilla。平时自己学习电脑安装虚拟…

舞伴配对问题java_舞伴配对问题

循环队列的应用——舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别已经固定&#xf…

逆元

复习逆元…… 逆元 求法: 1,快速幂     根据费马小定理有\(a^{p - 1} \equiv 1 \quad (mod \quad p)\),把左边拆开一下得到     \[a \cdot a^{p - 2} \equiv 1 \quad (mod \quad p)\]     因此\(a^{p - 2}\)为\(a\)在\(mod \quad p\)意义下的…

java如何让线程等待_如何使Java线程等待另一个线程的输出?

我真的建议你经历一个教程,如Sun’s Java Concurrency,你开始在多线程的魔法世界。还有一些好书出来了(google for“Concurrent Programming in Java”,“Java Concurrency in Practice”)。要得到你的答案:在你必须等待dbThread的…

win7共享wifi

为什么80%的码农都做不了架构师?>>> 1.从开始菜单找到“命令提示符”,或直接键入cmd快速搜索,右键单击它,选择“以管理员身份运行” 2.运行以下命令启用虚拟无线网卡: netsh wlan set hostednetwork mod…

Ubuntu开启NFS、SSH服务(驱动开发用到、电脑端登录ARM板用到)

参考:Ubuntu下NFS服务的开启 作者:一只青木呀 发布时间:2020-08-04 14:06:58 网址:https://blog.csdn.net/weixin_45309916/article/details/107784877 目录NFS服务的开启1.安装NFS服务2.创建 linux 工作目录3.配置NFSUbuntu下SSH…

【整理】MySQL 之 autocommit

2019独角兽企业重金招聘Python工程师标准>>> mysql 默认是开启 auto commit 的。可以通过如下命令查看 session 级别和 global 级别的设置: mysql> select session.autocommit; ---------------------- | session.autocommit | ---------------------…

java某个类避免findbug检查_Findbugs能否在java中检测到捕获RuntimeException?

你能不能让我知道Findbugs可以在java中检测到catcing RuntimeException吗?有效的java建议我们不要捕获RuntimeException.所以我想知道Findbugs可以抓错了.另外,我已经检查过Klocwork JD.CATCH和checkstyle IllegalCatch是否适用于此目的.最佳答案 有点.在findbugs中…

交叉编译链的安装

参考:嵌入式 交叉编译链的安装 作者:一只青木呀 发布时间:2020-08-04 18:13:13 网址:https://blog.csdn.net/weixin_45309916/article/details/107789879 目录什么是交叉编译器交叉编译器的下载交叉编译器的安装1.把下载的文件放到…

Scrapy将爬取的段落整合为字符串

使用Scrapy框架爬取文章的时候,经常会遇到要爬取多个段落的问题,如果这个时候使用的是: text response.xpath("......").extract() 那么会发现爬取下来的文章是以段落为单位的list,不方便直接展示。 这个时候可以将lis…

Ubuntu下安装VS Code以及C/C++插件(PS工作目录的创建)

参考:Visual Studio Code Ubuntu下安装 以及C/C插件大全 作者:一只青木呀 发布时间:2020-08-05 11:55:53 网址:https://blog.csdn.net/weixin_45309916/article/details/107811506 目录为何选择安装VS CodeVisual Studio Code 安装…

Common Lisp中调用R

2019独角兽企业重金招聘Python工程师标准>>> R是功能强大的统计软件,和Lisp一样也有一个交互式的命令行环境,还有众多的扩展库,可以用来进行专业的统计分析。要在Common Lisp中方便的调用R的功能,可以试用rcl这个库。安…

java生成pdf加密_java使用iText 生成PDF全攻略(表格,加密)

java使用iText 生成PDF全攻略,包括创建文档,设置字体,添加表格(PdfPTable),创建新页(newPage),设置布局,加密主要使用的jar包: itextpdf-5.4.2.jar,itext-pdfa-5.4.2.jar,itext-xtra-5.4.2.jar,如果用到中文,需要CJK字体的扩展包:itext-asian.jar如果用到…

恩智浦NXP I.MX6ULL芯片介绍下载官网资料

参考:NXP I.MX6ULL芯片介绍以及资料的获取 作者:一只青木呀 发布时间:2020-09-26 10:54:26 网址:https://blog.csdn.net/weixin_45309916/article/details/108808573 目录I.MX6ULL芯片介绍以及官网资料的获取I.MX6ULL芯片介绍以及…

变速不变调方法

语音变速不变调,即语音时长规整,是指不改变原说话人的音调及语义信息,只改变说话人的语速。 语音变速不变调算法有三大类:时域法、频域法、参量法,如表2-1所示。 表2-1 变速不变调算法分类 时域法 频域法 参量法 剪…

java开发高端说法_关于Java代码的设计和开发注意事项,下列哪些说法符合《集合开发规约》:...

案例分析一:假定CPU的主频是500MHz。硬盘采用DMA方式进行数据传送,其数据传输率为4MB/s, 每次DMA传输的数据量为8KB, 要求没有任何数据传输被错过。如果CPU在DMA初始化设置和启动硬盘操作等方面用了1000个时钟周期,并且在DMA传送完成后的中断…