Java-IO之DeflaterOutputStream和InflaterOutputStream
此类为使用 “deflate” 压缩格式压缩数据实现输出流过滤器
example
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.Deflater;
import java.util.zip.DeflaterOutputStream;
import java.util.zip.Inflater;
import java.util.zip.InflaterOutputStream;
public class DeflaterOutputStreamIO {
private static String inPath = "D:\\a.bat";
private static String outPath = "D:\\b.bat";
public static void main(String[] args) throws Exception {
// 压缩文件
deflater(inPath,outPath);
// 解压文件
Inflater(outPath, "D:\\c.bat");
}
/**
*
* @param outPath2
* 压缩后的文件
* @param str
* 解压后的文件
* @throws Exception
*/
private static void Inflater(String outPath2, String str) throws Exception {
FileInputStream fis = new FileInputStream(new File(outPath));
FileOutputStream fos = new FileOutputStream(new File(str));
InflaterOutputStream ios = new InflaterOutputStream(fos, new Inflater(true));
byte[] b = new byte[1024];
int len = 0;
while ((len = fis.read(b)) != -1) {
ios.write(b, 0, len);
}
fis.close();
ios.close();
}
/**
*
* @param inPath
* 原文件
* @param outPath
* 压缩后的文件
* @throws Exception
*/
public static void deflater(String inPath, String outPath) throws Exception {
FileInputStream fis = new FileInputStream(new File(inPath));
FileOutputStream fos = new FileOutputStream(new File(outPath));
DeflaterOutputStream dos = new DeflaterOutputStream(fos,
new Deflater(9,true));
byte[] b = new byte[1024];
int len = 0;
while ((len = fis.read(b)) != -1) {
dos.write(b, 0, len);
}
fis.close();
dos.close();
}
}
Java-IO之DeflaterOutputStream和InflaterOutputStream的更多相关文章
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java io读书笔记(2)什么是stream
什么是stream?stream就是一个长度不确定的有序字节序列. Input streams move bytes of data into a Java program from some gen ...
- Java IO流详尽解析
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- Java -- IO -- 目录
操作文件的类 -- -- File File类的基本介绍 使用File类操作文件 范例 -- -- 列出指定目录的全部内容 RandomAccessFile类 使用RandomAccessFile类写 ...
- Java IO流详尽解析(转)
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java.IO输入输出流:过滤流:buffer流和data流
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- Java IO之字符流和文件
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...
- java Io流向指定文件输入内容
package com.hp.io; import java.io.*; public class BufferedWriterTest{ public static void main(String ...
随机推荐
- Bete冲刺第四阶段
Bete冲刺第四阶段 今日工作: web: 昨晚搞得很晚,帮队友搞定了git的问题,仓库顿时干净多了,同时已经基本完成了基础功能的接口 ios: 导入并使用了改善交互的第三方开源库,修正路径BUG 目 ...
- 【日常笔记】datatables表格数据渲染
现在有很多表格渲染方式 这里只是记录怎么使用datatables渲染数据 使用datatables可以更方便的来渲染数据 [中文api]http://datatables.club/index.htm ...
- vmware 在NAT模式下连接上外网
文章: http://www.2cto.com/os/201504/389011.html
- 如何录制手机屏幕并转成gif
因为上一篇博客需要展示一些软件操作过程,如果直接截图的话一来可能需要多张图,二来表达也不方便,所以特意去查了下如何录制手机屏幕操作,然后转成gif,嵌入进博客中,这样表达起来就方便多了.话不多说,总结 ...
- 【PKUSC 2015的一道数学题】
有9个人,每三个人中至少有两个互相认识,求证这里面至少有4个人互相认识 PKU官方题解: 引理:二染色K6中一定有同色K3. 证明:考虑某一个点,它一定连出至少三条同色边(不妨设为红边),这三条边连的 ...
- 51nod 1163贪心
用优先队列来贪心,是一个很好地想法.优先队列在很多时候可以维护最值,同时可以考虑到一些其他情况. http://www.51nod.com/onlineJudge/questionCode.html# ...
- 【Codeforces 707B】Bakery 水题
对每个storages找一下最短的相邻边 #include <cstdio> #define N 100005 #define inf 0x3f3f3f3f using namespace ...
- VS调试网页的localhost
那个像是iis的服务器叫: 只能访问自己的localhost,也就是127.0.0.1是回环地址(LoopBack),就是表示访问本机,是不用经过网卡的. 别名就是localhost.这种地址无法再外 ...
- 在Eclipse中如何关联spring-framework的文档和源代码
1.到官方网站去下载spring-framework的jar包 spring-framework jar包的下载地址是:http://repo.spring.io/release/org/spring ...
- Leetcode 113. Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...