求问为什么FileReader也有缓冲区?

donCoder 2019-01-25 08:34:47
最近学习JAVA IO,发现FileReader有flush()方法用来刷新缓冲区。但是带有缓冲区的不应该是BufferedReader吗?求解OVO
...全文
875 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
winrh 2019-02-08
  • 打赏
  • 举报
回复
public class InputStreamReader extends ReaderAn InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset. The charset that it uses may be specified by name or may be given explicitly, or the platform's default charset may be accepted.
winrh 2019-02-08
  • 打赏
  • 举报
回复
winrh 2019-02-08
  • 打赏
  • 举报
回复
引用 7 楼 donCoder 的回复:
[quote=引用 6 楼 winrh 的回复:] FileReader也是有缓冲区,默认的,可以通过InputStreamReader改大小
请问是InputStreamReader()哪个方法改变了缓冲区大小呢?我查了API貌似没有相关方法啊。[/quote]
donCoder 2019-02-08
  • 打赏
  • 举报
回复
引用 6 楼 winrh 的回复:
FileReader也是有缓冲区,默认的,可以通过InputStreamReader改大小
请问是InputStreamReader()哪个方法改变了缓冲区大小呢?我查了API貌似没有相关方法啊。
winrh 2019-02-05
  • 打赏
  • 举报
回复
FileReader也是有缓冲区,默认的,可以通过InputStreamReader改大小
donCoder 2019-02-01
  • 打赏
  • 举报
回复
引用 4 楼 qq_39936465 的回复:
[quote=引用 2 楼 donCoder 的回复:] [quote=引用 1 楼 qq_39936465 的回复:] [quote=引用 楼主 donCoder 的回复:] 最近学习JAVA IO,发现FileReader有flush()方法用来刷新缓冲区。但是带有缓冲区的不应该是BufferedReader吗?求解OVO
你是不是搞错了,是write写入才有flush(),因为write是所有write的根类,write带flush(),所有其他继承类都带flush()[/quote] 那么FileWriter带缓冲区吗?BufferedWriter和FIleWriter是不是都有缓冲区只是大小的问题?[/quote] 肯定都带缓存区具体大小由jvm里设定的,不止wirte有缓存,read也有缓存,不过因为read不需要人为刷新缓存,所以不带flush方法。[/quote]谢谢!
qq_39936465 2019-01-28
  • 打赏
  • 举报
回复
引用 2 楼 donCoder 的回复:
[quote=引用 1 楼 qq_39936465 的回复:]
[quote=引用 楼主 donCoder 的回复:]
最近学习JAVA IO,发现FileReader有flush()方法用来刷新缓冲区。但是带有缓冲区的不应该是BufferedReader吗?求解OVO


你是不是搞错了,是write写入才有flush(),因为write是所有write的根类,write带flush(),所有其他继承类都带flush()[/quote]
那么FileWriter带缓冲区吗?BufferedWriter和FIleWriter是不是都有缓冲区只是大小的问题?[/quote]

肯定都带缓存区具体大小由jvm里设定的,不止wirte有缓存,read也有缓存,不过因为read不需要人为刷新缓存,所以不带flush方法。
donCoder 2019-01-26
  • 打赏
  • 举报
回复
引用 1 楼 qq_39936465 的回复:
[quote=引用 楼主 donCoder 的回复:] 最近学习JAVA IO,发现FileReader有flush()方法用来刷新缓冲区。但是带有缓冲区的不应该是BufferedReader吗?求解OVO
你是不是搞错了,是write写入才有flush(),因为write是所有write的根类,write带flush(),所有其他继承类都带flush()[/quote] 那么FileWriter带缓冲区吗?BufferedWriter和FIleWriter是不是都有缓冲区只是大小的问题?
huaoppo 2019-01-26
  • 打赏
  • 举报
回复
我觉得应该都有缓冲区吧,如果一下写个几十M不可能一下子输出。
只是BufferedWriter对缓冲支持更好。
其它的IO可能是系统默认的缓冲。
qq_39936465 2019-01-25
  • 打赏
  • 举报
回复
引用 楼主 donCoder 的回复:
最近学习JAVA IO,发现FileReader有flush()方法用来刷新缓冲区。但是带有缓冲区的不应该是BufferedReader吗?求解OVO


你是不是搞错了,是write写入才有flush(),因为write是所有write的根类,write带flush(),所有其他继承类都带flush()

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧