首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InputStreamReader vs FileReader

InputStreamReader vs FileReader
EN

Stack Overflow用户
提问于 2011-11-03 16:07:25
回答 3查看 20.5K关注 0票数 32

除了InputStreamReaderFileReader的初始化方式不同之外,我似乎无法确定这两者之间有什么区别。使用其中一种有什么好处吗?大多数其他文章都介绍了FileInputStreamInputStreamReader,但我将其与FileReader进行了对比。在我看来,它们都有相同的目的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-03 16:13:41

首先,InputStreamReader可以处理所有输入流,而不仅仅是文件。其他示例包括网络连接、类路径资源和ZIP文件。

其次,Java11之前的FileReader不允许您指定编码,而是只使用plaform默认编码,这使得它非常无用,因为当代码在具有不同平台默认编码的系统上运行时,使用它会导致数据损坏。

从Java11开始,FileReader是将InputStreamReader包装在FileInputStream中的一种有用的快捷方式。

票数 55
EN

Stack Overflow用户

发布于 2011-11-03 16:14:39

FileReader从文件系统中的文件中读取字符。InputStreamReader从任何类型的输入流中读取字符。流可以是FileInputStream,但也可以是从套接字、HTTP连接、数据库blob等获取流。

我通常更喜欢使用包装FileInputStream的InputStreamReader来读取文件,因为它允许指定特定的字符编码。

票数 8
EN

Stack Overflow用户

发布于 2011-11-03 16:10:43

FileReader扩展了InputStreamReader。唯一的区别是FileReader具有构造函数,这些构造函数假定您是从String filenameFile fileFileDescriptor fd等文件中读取数据

我建议您查看一下FileReader的源代码以了解更多信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7991770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档