除了两者的初始化方式之外,我似乎无法确定 InputStreamReader
和 FileReader
之间的任何区别。使用其中一种有什么好处吗?大多数其他文章涵盖了 FileInputStream
与 InputStreamReader
,但我与 FileReader
形成对比。在我看来,他们都有相同的目的。
最佳答案
首先,InputStreamReader
可以处理所有输入流,而不仅仅是文件。其他示例包括网络连接、类路径资源和 ZIP 文件。
其次,FileReader
直到 Java 11 才允许你指定编码,而只使用 plaform 默认编码,这使得它几乎没有用,因为使用它会导致代码损坏时的数据在具有不同平台默认编码的系统上运行。
从 Java 11 开始,FileReader
是一个有用的快捷方式,用于将 InputStreamReader
包装在 FileInputStream
周围。
关于java - InputStreamReader 与 FileReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7991770/