Java I/O 学习笔记(8) 文件压缩
来源:互联网 发布:苹果手机怎样更新淘宝 编辑:程序博客网 时间:2024/05/20 22:04
package files;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.zip.CRC32;import java.util.zip.CheckedInputStream;import java.util.zip.CheckedOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;public class TestZipStream {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {testZipCompress("input.txt", "output.txt");testZipUncompress();}public static void testZipCompress(String... fileNames) throws IOException {FileOutputStream fos = new FileOutputStream("test.zip");CheckedOutputStream cos = new CheckedOutputStream(fos, new CRC32());ZipOutputStream zos = new ZipOutputStream(cos);BufferedOutputStream bos = new BufferedOutputStream(zos);zos.setComment(new String("测试压缩".getBytes("UTF-16BE")).intern());BufferedInputStream br = null;for (int i = 0; i < fileNames.length; i++) {br = new BufferedInputStream(new FileInputStream(fileNames[i]));zos.putNextEntry(new ZipEntry(fileNames[i]));int c = 0;while ((c = br.read()) != -1) {bos.write(c);}br.close();bos.flush();}System.out.println("Compress CRC32: " + cos.getChecksum().getValue());bos.close();}public static void testZipUncompress() throws IOException {FileInputStream fis = new FileInputStream("test.zip");CheckedInputStream cis = new CheckedInputStream(fis, new CRC32());ZipInputStream zis = new ZipInputStream(cis);BufferedInputStream bis = new BufferedInputStream(zis);BufferedOutputStream bos = null;ZipEntry ze = null;while ((ze = zis.getNextEntry()) != null) {System.out.println(ze);bos = new BufferedOutputStream(new FileOutputStream(ze.toString()+ ".txt"));int x = 0;while ((x = bis.read()) != -1) {bos.write(x);}bos.close();}System.out.println("Uncompress CRC32: " + cis.getChecksum().getValue());bis.close();}}
0 0
- Java I/O 学习笔记(8) 文件压缩
- java I/O系统(8)-文件压缩
- Java I/O学习笔记
- Java I/O学习笔记
- 【Java学习笔记】I/O
- java I/O 学习笔记
- Java I/O 学习笔记(1) 文件遍历
- Java I/O 学习笔记(5) 随机访问文件
- 《Java编程思想第四版》笔记---18章(7) I/O 文件锁定,文件压缩
- Java I/O 学习笔记(7) new I/O
- 学习笔记之文件与I/O
- Linux系统学习笔记:文件I/O
- Linux文件I/O学习笔记 1
- Python学习笔记九:文件I/O
- unix-文件i/o学习笔记
- Pandas学习笔记:文件I/O
- 《hadoop权威指南》学习笔记-hadoop I/O之压缩
- JAVA I/O系统学习笔记-部分
- sql的索引:网上看到不错,整理成自己的东西
- SharePoint 2013 Feature Details
- PHP微信二维码开发HttpCode非200 V3版
- Xcode 6制作动态及静态Framework
- mysql 日期时间函数汇总
- Java I/O 学习笔记(8) 文件压缩
- 性能测试几个常用俗语
- 【USACO 2015 Open Gold】Palindromic Paths 动态规划
- 项目管理的几种差评
- Linux 源
- java.lang.NoSuchMethodError找不到方法,但是那个方法明明存在
- 【LeetCode】Rotate Array 旋转数组
- 查看数据库版本
- 理发店模型之性能测试