黑马程序员技术交流社区

标题: io流的问题,小弟在这里混沌了~ [打印本页]

作者: anyanyhai    时间: 2012-3-25 23:02
标题: io流的问题,小弟在这里混沌了~
writer 子类的write()方法是吧字符或者字符数组写入到流中 通过 flush()方法把流中字符刷到目的地中

outputstream子类的 write()是吧字符直接写入目标文件? 他并没有flush()这样的方法 流是如何体现的?


作者: 郑涛    时间: 2012-3-25 23:07
似乎outputstream的子类不能用write()写字符吧,要写也是字节啊。字节流字符流没弄明白吗?
作者: 1002865186    时间: 2012-3-25 23:33
理解错误,IO流  分为两种 字节流 和 字符流 每种流种 都有包装流  其中一种包装流就是带有缓冲区的流,这种流的好处是输入输出都比较快,但是他会先写到缓冲区中,在需要数据马上写到目标文件时 需要刷新流 flush 或者直接 close
作者: anyanyhai    时间: 2012-3-25 23:35
{:soso_e127:}搞糊涂了,复习视频去~~
作者: 李东志    时间: 2012-3-25 23:43
字符流存在编码问题,所以write( )后要经过内存编码,所以要flush()刷新下;
outputstream是字节流,可以直接传送数据(即字节)。
作者: 刘元霄    时间: 2012-3-25 23:50
outputstream 有flush 好吧!  去查查API吧
OutputStream不能换行的吧。  OutputStream 是字节 二进制码
如果换行写入的数据就会不一样了!
作者: 王运科    时间: 2012-3-26 13:31
OutputStream的write()方法是将字节直接写入到文件中,不需要flush()方法去刷新;因为一个字符占有两个字节,FileWriter的Write()方法也是通过字节实现字符写入的,先将写入的字符以字节形式存储到缓冲区中,通过flush()方法将缓冲区中的字节以字符的形式刷新到文本中。




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