黑马程序员技术交流社区

标题: 字符流问题 [打印本页]

作者: 曹英    时间: 2013-3-20 00:17
标题: 字符流问题
本帖最后由 曹英 于 2013-3-21 00:33 编辑

FileWriter fw = new FileWriter("c.txt");

存到硬盘上的不都是字节吗,那为什么不用字节流存呢?
作者: 全超    时间: 2013-3-20 01:02
实际上无论是硬盘上的数据还是内存中的数据他们的体现形式都是字节,但是如果操作的是文本数据时就产生一个问题,如果文本中带有文字,例如中文就会涉及到编码表的问题,例如gbk编码表和utf-8编码表都能识别中文但编码方式却不一样,如果你存入数据的时候你的机器查的是gbk码表到别的机器上用utf-8编码就查不出来,所以在IO技术上基于字节流就产生了字符流,字符流的出现可以在内部融合了可以指定编码表的机制在读文字的时候就比较方便。
作者: 陈丽莉    时间: 2013-3-20 04:09
若还有问题,请继续追问;没有的话,请将帖子分类改成【已解决】~
作者: VOIDMAIN    时间: 2013-3-20 13:35
可以用字节流存啊,前面的老兄已经解释原因,你存的是文本文件,也就是字符文件,如果里面包含中文的话,是需要指定编码的,机器一般默认的编码是GBK,而字符流是封装了这个默认编码的,还有一个原因就是对文本操作,字符流提供了很多方便的方法,这也是字符流产生的意义。
作者: 爪哇攻城狮    时间: 2013-3-20 14:11
都是以字节录入的
查API看看,其实 writer 有强转的特点,输入的字符流,在硬盘上以字节存在、。。。
作者: 陈丽莉    时间: 2013-3-20 15:36
请及时处理帖子哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2