关于 FileWriter 和 OutputStreamWriter

FileWriter 也能输入 字符串 ,为什么要用 OutputStreamWriter呢?

什么情况用 OutputStreamWriter 而不用 FileWriter 呢?

望高手解答

万分感谢!!!
大哥,我也没多少分呀!!!

FileReader 和FileWriter分别是InputStreamReader和outputStreamWriter的子类,他们的write和read方法其实是同一个方法。所以没有什么不一样。缓存的话可以考虑使用BufferedReader 和BufferedWriter 这个是带有缓存的封装。
FileReader,FileWriter 是读字符的,1个字符是2个字节,16位。
OutputStream ,InputStream是读字节的,1个字节是8位。
要是读汉字,一个汉字是2个字节,用InputStream读就把汉字活生生的拆一半了,自己可以写程序验证下。
字符流主要读文本比较效率。字节流主要读二进制文件,图片就是为了防止出现读取的单位放大,出现无法还原本程序的目的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-11
FileWriter 用来写入字符文件的便捷类,此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的

要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter
jdk上写的很清楚本回答被提问者采纳
第2个回答  2008-11-04
OutputStreamWriter不能直接读写文件啊。
而FileWriter就可以直接读写文件。
再有OutputStreamWriter可用于将字节流转换成字符流,而FileWriter就不能了!
第3个回答  2021-01-25
FileWriter是OutputStreamWriter的子类,里面没有实现子类方法也就是FileWriter完全使用的是父类OutputStreamWriter已有的方法 就是FileWriter提供了很多方便的构造函数
简单来说:
对于一个已有的File对象file
可以直接构造出一个FileWriter
FileWriter fw =new FileWriter(file);
而不能直接构造出一个OutPutStreamWriter
OutputStreamWriter outputStreamWriter =new OutputStreamWriter(new FileOutputStream(new File("xxx")));

而使用上无差别
第4个回答  2008-11-04
分少

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网