首先,InputStreamReader
可以处理所有输入流,而不仅仅是文件。其他示例是网络连接,类路径资源和ZIP文件。
其次,FileReader
直到Java 11不允许您指定编码,而只使用平台默认编码,这使它几乎无用,因为当代码在具有不同平台默认编码的系统上运行时,使用它会导致数据损坏。
由于Java 11 FileReader
的用于包装的一个有用的快捷键InputStreamReader
周围FileInputStream
。
InputStreamReader与FileReader
首先,InputStreamReader
可以处理所有输入流,而不仅仅是文件。其他示例是网络连接,类路径资源和ZIP文件。
其次,FileReader
直到Java 11不允许您指定编码,而只使用平台默认编码,这使它几乎无用,因为当代码在具有不同平台默认编码的系统上运行时,使用它会导致数据损坏。
由于Java 11 FileReader
的用于包装的一个有用的快捷键InputStreamReader
周围FileInputStream
。