アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javaサーブレットでバイナリデータを出力したいと思っています。
デバッグのために出力した内容を、ログに出力したいのですが
バッファのデータを取得する方法が見つかりません。

●現在のソース(抜粋)
----------------------
ServletOutputStream out = response.getOutputStream();
BufferedOutputStream outbuf = new BufferedOutputStream(out);
DataOutputStream outdata = new DataOutputStream(outbuf);
outdata.writeLong(longValue);
outdata.writeInt(intValue);
outdata.writeShort(shortValue);
outdata.flash();
----------------------

一番上が
ServletOutputStream out = response.getOutputStream();
ではなく
ByteArrayOutputStream out = new ByteArrayOutputStream();
であれば、toByteArray() などで問題なく内容を取得できそう
なのですが、それではクライアントに出力できなくなってしまいます。

何かよい方法がありましたら教えていただけないでしょうか?

A 回答 (1件)

外部APIを使うことになりますが、参考URLのようなクラスを使えば実現できそうです。



参考URL:http://people.apache.org/~jochen/commons-io/site …
    • good
    • 0
この回答へのお礼

ありがとうございます。
このクラスを使うと、下記のようにして、
2つのOutputStreamをまとめることができそうですね。

ServletOutputStream out;
ByteArrayOutputStream branch;
TeeOutputStream(out, branch);

時間のあるときに試してみたいと思います。
結果が分かったら報告します。

お礼日時:2008/12/01 17:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!