java的压缩和解压demo
来源:互联网 发布:windows视频放大缩小 编辑:程序博客网 时间:2024/06/14 03:34
今天看了一下think in java 的压缩和解压这块,感觉用到的挺多的,做个笔记
/*** Project Name:mynio* File Name:ZipCompress.java* Package Name:com.iflytek.zip* Date:2016-8-22下午10:04:04* Copyright (c) 2016, syzhao@iflytek.com All Rights Reserved.**/package com.iflytek.zip;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Enumeration;import java.util.zip.Adler32;import java.util.zip.CheckedInputStream;import java.util.zip.CheckedOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;public class ZipCompress{ /** * main:(这里用一句话描述这个方法的作用). <br/> * @author syzhao * @param args * @throws Exception * @since JDK 1.6 */ public static void main(String[] args) throws Exception { //文件输出流 在这里我直接创建好了一个test.zip 当然可以动态创建,这里不多说了 FileOutputStream fos = new FileOutputStream(new File("D:/test.zip")); //校验过滤流,,顾名思义 于维护数据校验和用于维护数据完整性的 Checksum有两种类型:Adler32(快一些)和CRC32(慢一些,但更准确) 根据需要衡量一下 CheckedOutputStream cos = new CheckedOutputStream(fos, new Adler32()); //压缩输出流 ZipOutputStream zos = new ZipOutputStream(cos); //缓冲 BufferedOutputStream bos = new BufferedOutputStream(zos); //注释 zos.setComment("这是一个测试"); //对于每一个要要加入压缩档案的文件,都必须调用putNextEntry,并出入一个ZipEntry对象;至于有什么用自行百度,,,,, zos.putNextEntry(new ZipEntry("WeatherWS11.js"));//WeatherWS11.js 这个是打开zip文件后看到的文件名称,可以测试一下 //缓冲reader // BufferedReader br = new BufferedReader(new FileReader(new File("D:/WeatherWS.js"))); //读取要压缩的文件内容,可以注释掉,, /*int c; while ((c = br.read()) != -1) { bos.write(c); } br.close();*/ System.err.println("Checksum:" + cos.getChecksum().getValue()); bos.close(); /************************以上输出zip,结束**************************/ /************************以下读取zip,开始**************************/ System.out.println("读取文件:"); //文件输入流 FileInputStream fis = new FileInputStream(new File("D:/test.zip")); //校验过滤流,,顾名思义 于维护数据校验和用于维护数据完整性的 Checksum有两种类型:Adler32(快一些)和CRC32(慢一些,但更准确) 根据需要衡量一下 CheckedInputStream cis = new CheckedInputStream(fis, new Adler32()); //zip流 ZipInputStream zis = new ZipInputStream(cis); //缓冲 BufferedInputStream bis = new BufferedInputStream(zis); ZipEntry ze; while ((ze = zis.getNextEntry()) != null) { System.out.println("rend file:" + ze); int x; while ((x = bis.read()) != -1) { // System.out.println(x); } } bis.close(); /***************解压结束******************************/ //解压更简单的方法 ZipFile zf = new ZipFile("D:/test.zip"); Enumeration e = zf.entries(); while (e.hasMoreElements()) { ZipEntry z = (ZipEntry)e.nextElement(); System.out.println("file:" + z); } zf.close(); } }
0 0
- java的压缩和解压demo
- java 解压和压缩
- java 压缩和解压
- java对jar的解压和压缩
- Java文件的压缩和解压操作
- 关于java的压缩和解压
- Java实现Gzip的压缩和解压
- java实现的文件压缩和解压
- java实现zip的压缩和解压
- 压缩解压和二进制序列化DEMO
- JAVA解压和压缩详解
- JAVA解压和压缩详解
- java压缩和解压zip
- java压缩和解压文件
- Java ZIp 压缩和解压
- java文件夹压缩和解压
- java zip压缩和解压
- java文件夹压缩和解压
- 136. Single Number
- U3D开发学习之路--字符串的3个小练习
- Java I/O系统详解(一)——File类
- (学习)wget命令|应用:字符界面下载安装包
- 【web前端开发技术】深入理解JavaScript中的依赖注入
- java的压缩和解压demo
- iOS记录0822
- 【用膝盖写代码系列】(2):NOIP2011普及组复赛题目详解
- 二阶线性偏微分方程
- Android反调试笔记
- Raspberry 编译环境设置
- apache如何解决跨域资源访问
- Docker与虚拟机性能比较
- 【机房收费】组合查询