Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';难道读者不能直接从StringBuilder中读取?_Java_Java Io - Fatal编程技术网

Java Can';难道读者不能直接从StringBuilder中读取?

Java Can';难道读者不能直接从StringBuilder中读取?,java,java-io,Java,Java Io,我使用的API需要从中读取,而这个读取器实际上应该从中读取(可能非常大) 但是使用这个: new StringReader(stringBuilder.toString()); …将复制内部StringBuilder的char数组,由于数组大小的原因,我希望避免这样做。 尽管如此,这个char数组是受包保护的 没有比这更好的运气了:( 我错过什么了吗 注意:我现在不能使用Java 7。StringBuilder实现了CharSequence,因此您可以使用Apachecommons io创建您

我使用的API需要从中读取,而这个
读取器实际上应该从中读取(可能非常大)

但是使用这个:

new StringReader(stringBuilder.toString());
…将复制内部
StringBuilder
char
数组,由于数组大小的原因,我希望避免这样做。 尽管如此,这个
char
数组是受包保护的

没有比这更好的运气了:(

我错过什么了吗


注意:我现在不能使用Java 7。

StringBuilder
实现了
CharSequence
,因此您可以使用Apache
commons io

创建您自己的从Reader(或StringReader)继承的子类;显然这很简单。
读取器
按顺序读取,
StringBuilder/Buffer
可以随机更改。如果不在系统中创建
字符串
/复制数组,该如何工作?如果只
附加到
生成器/Buffer
中,您可以构建一个比
Stri>更好的生成器ngBuilder/Buffer
供读者使用。@his:你说得对。但就我而言,我没有选择StringBuilder的权利……我现在将尝试“n3k0”或“ChrisMartin”的想法。谢谢!