我了解java.io中的其他Reader子类,但我无法想到需要使用CharArrayReader或StringReader的用例,因为我已经有可用的String或char[]数据。
这是因为兼容性吗?为了“提供”一个带有参数的Reader的String或char[]?
这是因为兼容性吗?为了“提供”一个带有参数的Reader的String或char[]?
我不会称之为“兼容性”,而是“灵活性”。
你说得对,一些处理基于字符的数据的库提供了接受Reader
的方法。因此,该库的用户可以选择任何机制来提供给该库。
如果你有一个硬盘上的文件,使用FileReader
。如果你有任意的InputStream
,使用InputStreamReader
(带有适当的编码)。如果你已经在代码中有一个简单的String
,则使用StringReader
。等等...