zoukankan      html  css  js  c++  java
  • Android GZIP压缩IO流,优化APP数据传输(一)

      我是小搬运工,今天讲解流的压缩传输 

    在我们安卓开发中,通常伴随着大量的数据传输,在此,楼主给出一个简单的压缩流的数据进行操作。

    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好的个人博客和平台网站
    免费的Git和SVN服务器
    组件化
    三方生产利器
    RSA加密解密和签名验证机制以及其区别和联系
    APP和后台接口设计规范
    树和二叉树2——输出广义表形式(带括号)二叉树
    树和二叉树1——链式二叉树基础
    计算机图形学5——Two-Dimensional Viewing and Clipping(二维线段裁剪算法)
  • 原文地址:https://www.cnblogs.com/sunzan/p/5360013.html
Copyright © 2011-2022 走看看