A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 hansnowqiang 于 2015-11-30 14:12 编辑

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

5 个回复

正序浏览
我想问一句,不要父类子类如何初始化?
回复 使用道具 举报
理解这个可以先看看装饰者模式, BufferedInputStream是一个包装类,里面只要是InputStream就可以得到高效的读写功能.只需给它传入的outputStream类对象即可.FileInputStream只是InputStream类的一种子类.例如可以用BufferedInputStream来包装网络编程中通过Socket获取的InputStream类数据.如果直接把FileInputStream内置进去,功能反而少了,用武之地也变窄了.这只是我的理解.欢迎探讨
回复 使用道具 举报
换个角度想想: 为什么IO包中要使用装饰设计模式. 这样你就想明白了
回复 使用道具 举报
就相当于为什么有了有参构造还要有无参构造,因为你不知道别人在使用时的需求
回复 使用道具 举报
有读1024字节 还有一个字节一个字节读的呢,那你用高效就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马