zoukankan      html  css  js  c++  java
  • Io流

    一、IO流的分类(组织架构)

    • 根据处理数据类型的不同分为:字节流和字符流
    • 根据数据流向不同分为:输入流和输出流

    二、字符字节,输入输出流的概念

         字符流和字节流

          字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:

    • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
    • 处理对象不同:字节流能处理所有类型的数据(如字符、图片、avi音视频等),而字符流只能处理字符类型的数据。

           结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

         输入流和输出流

         对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流。 

    三、字节流字符流之间的转换

       InputStreamReader是字节流同向字符流的桥梁,如果不指定字符编码,该解码过程将使用系统默认的字符编码:GBK;

      OutputStream用于将写入的字符编码成字节后写入一个字节流;

    四、缓冲流

        缓冲流也称为处理流,对文件或者其他目标频繁的操作,效率低,性能差。缓冲流目的是提高程序读取和写出的性能。缓冲流也分为字节缓冲流和字符缓冲流。

       使用缓冲流的好处是能够更高效的读写信息,原理是先将数据缓冲起来,然后一起写入或者读取出来。 

    原著 https://www.cnblogs.com/zhaosq/p/9889774.html

  • 相关阅读:
    数据挖掘——统计学分析(五:统计量)
    数据挖掘——统计学分析(四:概率与概率分布)
    linux shell之sed
    ListView常用属性 (2012-01-12 17:20:27)
    android ListView几个比较特别的属性
    android
    android:layout_weight的真实含义
    linux下mysql安装、目录结构、配置
    mysql查看数据库和表的占用空间大小
    Android实战技巧:如何在ScrollView中嵌套ListView
  • 原文地址:https://www.cnblogs.com/dsds/p/15125941.html
Copyright © 2011-2022 走看看