困扰很久的InputStreamReader和OutputStreamWriter 20
Java中只有从字节流转换成字符流的这一种转换,这一点应该是确定下来的,InputStreamReader是字节输入流转换成字符输入流这一点也很好理解,并且其构造器中允许...
Java中只有从字节流转换成字符流的这一种转换,这一点应该是确定下来的,InputStreamReader是字节输入流转换成字符输入流 这一点也很好理解,并且其构造器中允许使用指定的字符集进行解码,我的疑问是 为什么书上都说OutputStreamWriter是字节输出流转换成字符输出流?但是API说的是其是字符流通向字节流的桥梁?而且很多参考资料上也是说是将字符流转换成字节流 那就应该是字符输出流转换成字节输出流才对啊 所有网站上的参考资料我都看了,请不要复制粘贴
展开
1个回答
展开全部
看到一个较为合适的解答,分享给你:
字符流在进行输出的时候会使用缓冲区,而字节流不使用缓冲区。在关闭字符流的时候会强制的将缓冲区的内容进行输出,但如果不关闭流缓冲区的内容是无法输出的。
那么什么是缓冲区那?
如果一个程序频繁地操作一个资源(如文件或数据库),则性能会很低,此时为了提升性能,就可以将一部分数据暂时读入到内存的一块区域之中,以后直接从此区域中读取数据即可,因为读取内存速度会比较快,这样可以提升程序的性能。简单的理解就是缓冲区是一段特殊的内存。
在字符流的操作中,所有的字符都是在内存中形成的,在输出前会将所有的内容暂时保存在内存之中,所以使用了缓冲区暂存数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询