困扰很久的InputStreamReader和OutputStreamWriter 20

Java中只有从字节流转换成字符流的这一种转换,这一点应该是确定下来的,InputStreamReader是字节输入流转换成字符输入流这一点也很好理解,并且其构造器中允许... Java中只有从字节流转换成字符流的这一种转换,这一点应该是确定下来的,InputStreamReader是字节输入流转换成字符输入流 这一点也很好理解,并且其构造器中允许使用指定的字符集进行解码,我的疑问是 为什么书上都说OutputStreamWriter是字节输出流转换成字符输出流?但是API说的是其是字符流通向字节流的桥梁?而且很多参考资料上也是说是将字符流转换成字节流 那就应该是字符输出流转换成字节输出流才对啊 所有网站上的参考资料我都看了,请不要复制粘贴 展开
 我来答
想当然先生
2018-03-20
知道答主
回答量:53
采纳率:0%
帮助的人:10.1万
展开全部

看到一个较为合适的解答,分享给你:

字符流在进行输出的时候会使用缓冲区,而字节流不使用缓冲区。在关闭字符流的时候会强制的将缓冲区的内容进行输出,但如果不关闭流缓冲区的内容是无法输出的。 
那么什么是缓冲区那? 
如果一个程序频繁地操作一个资源(如文件或数据库),则性能会很低,此时为了提升性能,就可以将一部分数据暂时读入到内存的一块区域之中,以后直接从此区域中读取数据即可,因为读取内存速度会比较快,这样可以提升程序的性能。简单的理解就是缓冲区是一段特殊的内存。

在字符流的操作中,所有的字符都是在内存中形成的,在输出前会将所有的内容暂时保存在内存之中,所以使用了缓冲区暂存数据。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式