
OutputStream与Writer类有何区别?
3个回答
展开全部
一个是字符流输出,一个是字节流输出
从本质上讲,wirter/reader和inputstream/outputstream的最大区别在于encode和decode.
inputstream/outputstream 直接对byte[]进行操作,不会更改任何信息,原原本本的反应数据内容。
writer/reader在操作时会进行decode/encode. 它会根据你的系统属性file.encoding来decode数据。比如你从文件中读取一行,用reader.readLine()返回的string是经过decode的数据。如果你的文件的encoding不等于你的file.encoding的值,就会产生编码错误。
从本质上讲,wirter/reader和inputstream/outputstream的最大区别在于encode和decode.
inputstream/outputstream 直接对byte[]进行操作,不会更改任何信息,原原本本的反应数据内容。
writer/reader在操作时会进行decode/encode. 它会根据你的系统属性file.encoding来decode数据。比如你从文件中读取一行,用reader.readLine()返回的string是经过decode的数据。如果你的文件的encoding不等于你的file.encoding的值,就会产生编码错误。
展开全部
一个是字符流输出,一个是字节流输出
具体区别:字节流是直接操作的,字符流使用了缓冲区
所有文件在硬盘活在传输上都是使用字节的方式存储的,而字符只有在内存中才会形成,所以使用字节流更加好
具体区别:字节流是直接操作的,字符流使用了缓冲区
所有文件在硬盘活在传输上都是使用字节的方式存储的,而字符只有在内存中才会形成,所以使用字节流更加好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stream是我们所说的流,也即是输入输出流。而且writer和reader一般我们是用来缓冲的。也就是在流上加个缓冲输出.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询