黑马程序员技术交流社区

标题: 字节流FileOutputStream写入数据为什么不需要刷新? [打印本页]

作者: paozhuanyinyu    时间: 2014-8-5 23:52
标题: 字节流FileOutputStream写入数据为什么不需要刷新?
字节流FileOutputStream写入数据为什么不需要刷新?老师讲的因为先入为主,还是不太懂。

作者: 黑马黄武先    时间: 2014-8-6 00:07
再多看几遍视频?好好琢磨琢磨
作者: 张涛的狂怒    时间: 2014-8-6 00:10
还没有看到,等待大神
作者: 到处玩的    时间: 2014-8-6 00:16
在进行字符流操作的时候会使用到缓冲区(内存中),而字节流操作的时候是不会使用到缓冲区的,所以他不需要刷新。
作者: fantacyleo    时间: 2014-8-6 00:18
因为字节流没有缓冲区,直接调用操作系统的写入函数。你去看源代码就会发现:1. FileOutputStream类的write方法直接就是native的,也就是调用操作系统提供的底层函数。2. FileOutputStream类没有重写父类的flush方法,而它父类OutputStream的flush方法是空的,什么事也不做。你刷了也是白刷
作者: paozhuanyinyu    时间: 2014-8-8 12:02
到处玩的 发表于 2014-8-6 00:16
在进行字符流操作的时候会使用到缓冲区(内存中),而字节流操作的时候是不会使用到缓冲区的,所以他不需要 ...

字节流也有缓冲区啊,BufferedOutputStream
作者: paozhuanyinyu    时间: 2014-8-8 12:10
fantacyleo 发表于 2014-8-6 00:18
因为字节流没有缓冲区,直接调用操作系统的写入函数。你去看源代码就会发现:1. FileOutputStream类的write ...

native是什么意思?
作者: fantacyleo    时间: 2014-8-8 12:13
paozhuanyinyu 发表于 2014-8-8 12:10
native是什么意思?

操作系统提供的底层函数




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