あるライブラリに、
setOutputStream(OutputStream out)
というメソッドがあり、サンプルコードでは、
setOutputStream(System.out);
という使い方をしています。
システムからの出力をSystem.out(コンソールにつながっているストリーム(という理解なのですが))に表示するようにしている、のだと思います。実際、コンソールに出力が表示されます。
この時、システムからの出力を直接コンソールに表示させるのではなく、いったんStringなどに格納して、私が処理を加えたいのですがそういったことは可能でしょうか?
よろしくお願いします。
OutputStream (Java Platform SE 6)
OutputStream を継承したクラスを作成し、write(int b) メソッドを実装すればよいです。
該当のライブラリには自作クラスを渡すようにし、自作クラスでは System.out 等を(コンストラクタで受け取るなどして)
関連づければ、システム的には透過的に扱えます。
回答ありがとうございます。
うーん、、知識不足のせいで、まだちょっとよく分かりません。
>System.out 等を(コンストラクタで受け取るなどして)
>関連づければ
というのは、具体的にどのようにすればよいのでしょうか?