zoukankan      html  css  js  c++  java
  • android InputStream相关类

    InputStream 作用:用来表示哪些从不同数据源产生输入的类,这些数据源包括:字节数组、String对象、文件、“管道”、一个由其他种类的流组成的序列、其他数据源(如internet链接等)

    1、inputstream是最原始的,专注了核心功能,此抽象类是表示字节输入流的所有类的超类;

    2、inputstreamreader是核心功能的装饰,提供了更封装的方法;
         inputstreamreader是将字节流转换成字符流,是上面两者的转换类
         比如输入时inputStream,可以用inputStreamReader(inputStream);返回reader的字符流

    3、BufferedReader是一个包装类,它可以包装字符流,将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提供读的效率而设计的

    4、DataInputStream  面向字节,读取"格式化"的数据即读取不同的基本类型以及String对象(所有方法都以"read"开头,如readByte()、readFloat());

        用available( )来判断还有多少字符;

        用String的getBytes( )方法把String变成成byte数组,ByteArrayInputStream是可以处理byte数组的。

        对应DataIOutputStream, "write"如writeByte()

    5、BufferedInputStream

    二、用法区别

    inputstream只能读字节,byte数组,是否读完的方法为available( );
    而有reader的可以读char;
    如果在reader上再装饰一层buffered,那么就可以读取 string,方法是 readline() ,是否读完的判断方法为while((inputline = buffer.readLine())!=null);

    注意:无论何时使用readLine(),都不应该使用DataInputStream(这会遭到编译器的强烈反对),应该使用BufferedReader。除了这一点,DataInputStream仍是I/O类库的首选。

  • 相关阅读:
    Docker 容器知识点
    Docker 常用命令
    杜教筛
    后缀自动机相关
    期望DP
    从零开始的莫比乌斯反演(函数)[详细推导]
    欧拉函数|(扩展)欧拉定理|欧拉反演
    优美诗词(持续更新)
    魔法 [线段树优化DP]
    stone2 [期望]
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/InputStream.html
Copyright © 2011-2022 走看看