黑马程序员技术交流社区
标题:
有谁知道Java中字节流和字符流的区别
[打印本页]
作者:
梁胜海
时间:
2012-10-31 19:35
标题:
有谁知道Java中字节流和字符流的区别
求解啊。一直都搞不明白如何去区别使用它们。
作者:
刘丽娜
时间:
2012-10-31 20:27
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的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等
作者:
罗宝
时间:
2012-11-1 17:40
java流分为两类:
1、字节流:可以用于读写二进制文件及任何类型文件
2、字符流:可以用于读写文本文件(能用记事本打开的文件),
但不能操作二进制文件
字节流:InputStream 、OutputStream
字符流:Reader (输入)、Writer(输出)
作者:
黄邦洋
时间:
2012-12-30 18:53
在io里面有四大基类是实现输入输出的,inputstream,outputstream,reader,writer。
前面两个可以处理任何文件后者只能处理文本文件。同时四者都可以加入缓冲区。
作者:
邹学良
时间:
2013-3-1 22:41
字节流也称为原始数据,计算机中文件的储存是都是以字节进行储存,所以在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。而字符流的实现是基于自动转换的,读取数据时会把数据按照JVM的默认编码自动转换成字符。
一般类型的文本文件通过字符流进行处理,图片,音频类的文件用字节流进行处理
作者:
tianyun
时间:
2013-3-13 21:44
数据存在在计算机中是以二进制形式存放的,java用位二进制表示一字节,文件由许多字节流组成。理论上说用字节流可以访问任何文件,但为了访问文件的方便,java定义了字符流访问文件。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2