读者不能直接从StringBuilder中读取*吗?

xav*_*xav 1 java java-io

我正在使用一个需要Reader读取的API,这Reader实际上应该从一个(可能非常大)读取StringBuilder.

但是使用这个:

new StringReader(stringBuilder.toString());
Run Code Online (Sandbox Code Playgroud)

...将复制内部StringBuilderchar数组,由于数组大小,我想避免使用它.虽然,这个char数组是受包保护的.

并没有更好的运气StringBuffer:(

我错过了什么吗?

注意:我目前无法使用Java 7.

Chr*_*tin 5

StringBuilder实现CharSequence,所以你可以使用CharSequenceReaderApache commons-io.