我认为这已经得到了回答,但我似乎无法找到它。
我有一个实例方法,它将一些内容写入输出流
writeTo(OutputStream){
//class specific logic
}
我希望它将这些内容放入StringBuilder中。我可以通过临时文件来做到这一点,但这似乎不对。我想做点什么:
Stringbuilder sb = /* */;
OutputStream os = outForStringBuilder(sb);//not sure how to do this
instance.writeTo(os); //This should write the contents to Stringbuilder
答案 0 :(得分:12)
使用ByteArrayOutputStream然后调用toString(charSet) - 不需要StringBuilder。
答案 1 :(得分:2)
因此,您希望写入流的输出转而使用StringBuffer。我假设你这样做是因为在其他地方需要一个OutputStream。您可以使用ByteArrayOutputStream,但是如果您想保留StringBuffer行为,您可以简单地将StringBuffer包装在OutputStream的子类中,就像这里的代码一样: