CharArrayReader和StringReader有什么用?

What is the use of CharArrayReader and StringReader?

我了解 java.io 中的其他 Reader 子类,但我想不出我需要 CharArrayReaderStringReader 的用例当我已经有 Stringchar[].

可用的数据时

是不是因为兼容性?将 "feed" a Stringchar[] 转换成需要 Reader 作为参数的东西?

我不会称它为兼容性,而是灵活性

你说得对,一些处理基于字符的数据的库提供了一种接受 Reader 的方法。因此该库的用户可以选择任何机制来提供该库。

如果硬盘上有文件,请使用 FileReader。如果您有任意 InputStream,请使用 InputStreamReader(具有适当的编码)。如果您的代码中已经有一个简单的 String,请使用 StringReader。等等...

除了已经回答的内容之外,当您为需要 reader.

的方法编写单元测试时,这些 类 非常方便