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-!!!嘿嘿

  • 相关阅读:
    centos崩溃后如何修复
    乘法是啥
    接上篇—用spring注入DBbean,并使用maven管理
    技术产生价值
    技术?
    世界的本质是啥呢
    java-web 登陆功能
    对java的理解
    数学的历史
    使用jmeter测试接口
  • 原文地址:https://www.cnblogs.com/sunzan/p/5360013.html
Copyright © 2011-2022 走看看