A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© anyanyhai 中级黑马   /  2012-3-25 23:02  /  1914 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

writer 子类的write()方法是吧字符或者字符数组写入到流中 通过 flush()方法把流中字符刷到目的地中

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

6 个回复

倒序浏览
似乎outputstream的子类不能用write()写字符吧,要写也是字节啊。字节流字符流没弄明白吗?
回复 使用道具 举报
理解错误,IO流  分为两种 字节流 和 字符流 每种流种 都有包装流  其中一种包装流就是带有缓冲区的流,这种流的好处是输入输出都比较快,但是他会先写到缓冲区中,在需要数据马上写到目标文件时 需要刷新流 flush 或者直接 close

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
{:soso_e127:}搞糊涂了,复习视频去~~
回复 使用道具 举报
字符流存在编码问题,所以write( )后要经过内存编码,所以要flush()刷新下;
outputstream是字节流,可以直接传送数据(即字节)。
回复 使用道具 举报
outputstream 有flush 好吧!  去查查API吧
OutputStream不能换行的吧。  OutputStream 是字节 二进制码
如果换行写入的数据就会不一样了!
回复 使用道具 举报
OutputStream的write()方法是将字节直接写入到文件中,不需要flush()方法去刷新;因为一个字符占有两个字节,FileWriter的Write()方法也是通过字节实现字符写入的,先将写入的字符以字节形式存储到缓冲区中,通过flush()方法将缓冲区中的字节以字符的形式刷新到文本中。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马