黑马程序员技术交流社区

标题: IO中有了Buffered的为什么还要使用基础in/out流? [打印本页]

作者: hansnowqiang    时间: 2015-11-30 14:10
标题: IO中有了Buffered的为什么还要使用基础in/out流?
本帖最后由 hansnowqiang 于 2015-11-30 14:12 编辑

IO中有了BufferedInputStream和BufferedOutputStream,在实际使用中还有直接使用低效的FileInput/Output的情况吗?为什么必须使用低效的流?
我知道缓冲流必须有基础流的对象,我指的是有没有直接使用基础流,不适用缓冲流的情况,为什么?

作者: 洋葱头头    时间: 2015-11-30 15:26
有读1024字节 还有一个字节一个字节读的呢,那你用高效就行了
作者: xiaoziyk    时间: 2015-11-30 19:24
就相当于为什么有了有参构造还要有无参构造,因为你不知道别人在使用时的需求
作者: lucascgz    时间: 2015-11-30 21:52
换个角度想想: 为什么IO包中要使用装饰设计模式. 这样你就想明白了
作者: kunsongjack    时间: 2015-11-30 21:56
理解这个可以先看看装饰者模式, BufferedInputStream是一个包装类,里面只要是InputStream就可以得到高效的读写功能.只需给它传入的outputStream类对象即可.FileInputStream只是InputStream类的一种子类.例如可以用BufferedInputStream来包装网络编程中通过Socket获取的InputStream类数据.如果直接把FileInputStream内置进去,功能反而少了,用武之地也变窄了.这只是我的理解.欢迎探讨
作者: jiangshicun007    时间: 2015-12-1 11:13
我想问一句,不要父类子类如何初始化?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2