您的位置:首页 > 编程语言 > Java开发

java中字节流与字符流有什么区别简介?

2010-09-27 10:17 411 查看
字节流与字符流主要的区别是他们的的处理方式

字节流

是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据
,它是按字节来处理的

但实际中很多的数据是文本,又提出了字符流

的概念,它是按虚拟机的encode来处理
,也就是要进行字符集的转化

这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联

在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的

在从字节流转化为字符流时,实际上就是byte[]转化为String时,

public String(byte bytes[], String charsetName)

有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang

而在字符流转化为字节流时,实际上是String转化为byte[]时,

byte[]    String.getBytes(String charsetName)

也是一样的道理

至于java.io中还出现了许多其他的流,按主要是为了提高性能和使用方便,

如BufferedInputStream,PipedInputStream等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: