您的位置:首页 > 编程语言 > Java开发

Java InputStream层次分析

2015-07-22 17:01 288 查看
Java io使用的是设计模式中的装饰者模式,装饰者模式的结构应当为:



对应到Java InputStream上,则为:



对比一下InputStream和Reader的区别:核心是,前者读入的是字节,后者读入的是字符。

不论是InputStream还是Reader,数据源的数据在内存中都是二进制码的形式,但是对于字节流,一次读取一个字节的数据,并返回这一个字节的二进制码对应的整数值。(以下是猜测)而字符流,它是将二进制码转换为字符以后再返回该字符串对应的ascii码整数值。数据的二进制码和ascii码整数值是不一样的,比如数字1,如果是int型,则在内存中为0x00000001,而它如果作为一个字符“1”,对应的ascii码应当为0x31。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: