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类库的首选。

转载于:https://www.cnblogs.com/wyqfighting/archive/2012/09/20/InputStream.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值