Android GZIP压缩IO流,优化APP数据传输(一)
2016-04-06 16:54
447 查看
我是小搬运工,今天讲解流的压缩传输
在我们安卓开发中,通常伴随着大量的数据传输,在此,楼主给出一个简单的压缩流的数据进行操作。
public void GZIPCpf(String path) {
/*
* 描述
* 压缩测试
* 通过压缩的方式实现对java数据流的读取
* java压缩类属于inputstream和outputstream结构的一部分
* */
/*
* 压缩类的功能
* 1、CheakedInputStream GetCheckSum()为任何inputstream产生效验和(不仅仅只是解压)
* checkedoutputstream GetCheckSum()为任何outputstream产生效验和(不仅仅只是解压)
* DeflaterOutputStream,用于压缩类的基础类
* ZIPOutputStream 一个DeflaterOutputStream,将数据压缩成zip文件格式
* GZIPOutputStream 一个DeflaterOutputStream,将数据压缩成Gzip文件格式
* InflaterInputStream 用于解压类的基础类
* ZIPInputStream 一个deflaterinputStream,解压用zip格式保存的数据
* GZIPInputStream 一个deflaterinputStream,解压用gzip保存的数据
*
* */
//用GZIP进行简单压缩,适用于单个数据流的压缩
try {
//写
File f = new File(path);
BufferedReader br = new BufferedReader(new FileReader(path));
BufferedOutputStream bOs = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(f)));
int c;
while ((c=br.read())!=-1) {
bOs.write(c);
System.out.println(c);
}
br.close();
bOs.close();
//读
BufferedReader reader = new BufferedReader(
new InputStreamReader(
new GZIPInputStream(
new FileInputStream(f)
)
)
);
String text;
while ((text=reader.readLine())!=null) {
System.out.println(text);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
大家可以根据这个简单的案例做出更加优秀的流传输-v-!!!嘿嘿
在我们安卓开发中,通常伴随着大量的数据传输,在此,楼主给出一个简单的压缩流的数据进行操作。
public void GZIPCpf(String path) {
/*
* 描述
* 压缩测试
* 通过压缩的方式实现对java数据流的读取
* java压缩类属于inputstream和outputstream结构的一部分
* */
/*
* 压缩类的功能
* 1、CheakedInputStream GetCheckSum()为任何inputstream产生效验和(不仅仅只是解压)
* checkedoutputstream GetCheckSum()为任何outputstream产生效验和(不仅仅只是解压)
* DeflaterOutputStream,用于压缩类的基础类
* ZIPOutputStream 一个DeflaterOutputStream,将数据压缩成zip文件格式
* GZIPOutputStream 一个DeflaterOutputStream,将数据压缩成Gzip文件格式
* InflaterInputStream 用于解压类的基础类
* ZIPInputStream 一个deflaterinputStream,解压用zip格式保存的数据
* GZIPInputStream 一个deflaterinputStream,解压用gzip保存的数据
*
* */
//用GZIP进行简单压缩,适用于单个数据流的压缩
try {
//写
File f = new File(path);
BufferedReader br = new BufferedReader(new FileReader(path));
BufferedOutputStream bOs = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(f)));
int c;
while ((c=br.read())!=-1) {
bOs.write(c);
System.out.println(c);
}
br.close();
bOs.close();
//读
BufferedReader reader = new BufferedReader(
new InputStreamReader(
new GZIPInputStream(
new FileInputStream(f)
)
)
);
String text;
while ((text=reader.readLine())!=null) {
System.out.println(text);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
大家可以根据这个简单的案例做出更加优秀的流传输-v-!!!嘿嘿
相关文章推荐
- IOS开发之——Masonry 只支持OC,暂不支持swift
- Android热补丁动态修复技术(一):从Dex分包原理到热补丁
- 史上最全WebView使用,附送Html5Activity一份
- Android Studio的国际化
- IOS核心动画(Core Animation)
- iOS-随机数
- iOS学习笔记13 -- NSNotificationCenter
- 在一个APP中使用多个tabBar
- android Service传值
- ANDROID L——Material Design详解(主题和布局)
- 支付宝 iOS SDK 的简单使用
- android自定义圆盘时钟
- 202. Happy Number
- Android Studio导入jar包和删除jar包
- android——ImageLoader添加缓存
- android gradle
- XCText
- 解决UIWebView上方总是会有一块空白的问题?
- Android 使用系统相机拍摄照片保存到本地并在系统相册中显示
- pe如何安装ios系统