2

これは答えられたと思いますが、見つけられないようです。

出力ストリームにいくつかのコンテンツを書き込むインスタンス メソッドがあります。

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
4

2 に答える 2

13

ByteArrayOutputStreamを使用してから toString(charSet) を呼び出します。StringBuilder は必要ありません。

于 2013-08-30T03:23:36.110 に答える
2

したがって、ストリームに書き込まれた出力を代わりに StringBuffer に送る必要があります。OutputStream が別の場所で必要なため、これを行っていると想定しています。ByteArrayOutputStream を使用することもできますが、StringBuffer の動作を維持したい場合は、次のコードのように StringBuffer を OutputStream のサブクラスでラップするだけです。

http://geronimo.apache.org/maven/specs/geronimo-javamail_1.4_spec/1.6/apidocs/src-html/org/apache/geronimo/mail/util/StringBufferOutputStream.html#line.31

于 2013-08-30T03:30:55.337 に答える