黑马程序员技术交流社区

标题: io流方面的,一个小疑问。 [打印本页]

作者: 尹震    时间: 2012-3-7 11:38
标题: io流方面的,一个小疑问。
OutputStreamWriter与Writer区别在哪?应用中用哪个最好,为什么?

作者: 杨毅    时间: 2012-3-7 12:53
Writer是字符输出流的基类,OutputStreamWriter是转换流,也是Writer的一个子类
至于应用哪个最好,不明白你说的什么意思,这两个个没有可比性吧

作者: 尹震    时间: 2012-3-9 11:56
杨毅 发表于 2012-3-7 12:53
Writer是字符输出流的基类,OutputStreamWriter是转换流,也是Writer的一个子类
至于应用哪个最好,不明白 ...

我说的意思就是,这两个流都是对字符进行操作,具体用哪个比较好,或者是它们之间存在着什么差异。
作者: 戚雪晖    时间: 2012-3-9 12:49
你能用Writer对象对字符进行操作?莫非你才是java中的上帝?
通过查找API,其实Writer是被抽取出来的一个具有"写入共性"的抽象类。
你要使用的话,其实是要调用他的子类对象,比如OutputStreamWriter,FilterWriter等,才能具体去实现你的功能。
作者: 黄方    时间: 2012-3-9 12:53
额,看了你的问题啦:
是这样的
为了速度。

Writer会一个字节一个字节的把内容写入文件,如果你有丰富编程经验的话,就会知道这种速度会多么慢。而outputstreamwriter是带有缓存的,用它包装了writer之后,writer就不会直接往文件中写,而是交给outputstreamwriter,然后就会往缓存中写,待Writer操作完成,OutputStreamWriter再一次性写入文件,效率大大提升。
作者: 尹震    时间: 2012-3-9 12:56
黄方 发表于 2012-3-9 12:53
额,看了你的问题啦:
是这样的
为了速度。

? 我记得,Writer 是一个字符,一个字符进行写入,而OutputStreamWriter是把字节流转换为字符流,进行写入。对吧。
作者: 黄方    时间: 2012-3-9 12:59
尹震 发表于 2012-3-9 12:56
? 我记得,Writer 是一个字符,一个字符进行写入,而OutputStreamWriter是把字节流转换为字符流,进行写 ...

哥们,我已经说的很清楚了!!!
作者: 尹震    时间: 2012-3-9 13:01
1毫秒的价值 发表于 2012-3-9 12:49
你能用Writer对象对字符进行操作?莫非你才是java中的上帝?
通过查找API,其实Writer是被抽取出来的一个具 ...

那OutputStreamWriter和FilterWriter,都是对字符进行写入,它们之间在应用中,哪个更好
作者: 戚雪晖    时间: 2012-3-9 13:13
继续查API啊,你会发现原来OutputStreamWriter是可以把传入的字符变成字节~
而FilterWriter呢,是一个继承了Writer的抽象类,所以如果要使用FilterWriter类,就必须自定义一个类继承FilterWriter这个类,并实现他其中的抽象方法。
哥们查API啊,都有说明的




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