InputStream/OutputStream和Reader/Writer在实现结果上是一样的吧?那么他们不一样的地方在哪啊?

Hearkener 2008-01-18 12:33:00
前辈们:
我们知道InputStream/OutputStream是处理字节流的,Reader/Writer是处理字符流的。但他们的实现结果都是一样的。那么他们的有没有显式的区别啊?前者能处理汉字,后者也能,他们的区别在哪啊?
诸位前辈见笑了。承蒙赐教,不胜感激!
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
薛定谔之死猫 2008-01-19
  • 打赏
  • 举报
回复
字符就是被编码的二进制序列,对你而言,它们是一致的,因为你都是通过字符表现的形式验证内容的
lml8971 2008-01-19
  • 打赏
  • 举报
回复
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。Java内用Unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转换。而类InputStreamReader和OutputStreamWriter处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高.



Hearkener 2008-01-18
  • 打赏
  • 举报
回复
还是有点不明白啊!真是不好意思。这两个流对字节、字符的处理上有什么区别吗?
awusoft 2008-01-18
  • 打赏
  • 举报
回复
区别在于一个是字节,一个字符

byte = (byte)125


这有可能是'A'的字节表示,

而char c = 'A';这直接表示成一个字符.

就是封装一下.
cangyue87 2008-01-18
  • 打赏
  • 举报
回复
后者只能读取普通文本文件(连word文档都不行),读取的结果是字符流...效率高过前者...

前者能按二进制读取任意文件,读取的结果是二进制流.....
runshine 2008-01-18
  • 打赏
  • 举报
回复
你用Reader/Writer读读图片就知道区别了....
yuanqingfei 2008-01-18
  • 打赏
  • 举报
回复
最直接的区别应该是后者不能读写二进制文件吧。。。。读写效率上应该也有差别。。

62,623

社区成员

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

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