- - PR -
ServletOutputStreamを使った出力について
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-01-21 21:06
java.io.FileInputStreamで得た入力ストリームを、response.getOutputStream()で
得たjavax.servlet.ServletOutputStreamに出力するサーブレットを作成しています。 はじめは read() で得たint値を、write(int) で出力していたのですが、対象となる データが数10KB〜数100KBくらいですので、さすがに1バイトずつでは無謀かなと思い 1024個のバイト配列を以って、read(byte[]) と write(byte[], int, int) を使うよ うにしました。 しかしj2ee1.3のドキュメントを読むと、ServletOutputStreamクラスのwrite系メソ ッドはオーバーライドせずにOutputStreamから継承しているようにみえ、また j2se1.4のドキュメント:write(byte[], int, int) には
とあります。 結局、1バイトずつ読み書きしているのと同じなのでしょうか。 | ||||
|
投稿日時: 2003-01-21 21:29
ServletOutputStreamのドキュメントに以下のような記述があります。
サーブレットコンテナでどのような実装をしているかに依存するので、 一概にこうだとは言えないと思います、が・・・ よっぽど手抜きをしたものでなければ、まっとう?な実装がなされていると思います。
#でも、そんな実装(1バイトずつ)をする製品があったら見てみたいかも | ||||
|
投稿日時: 2003-01-21 22:13
いまいち'実装'とか'コンテナが提供'というのがピンとこなくて...
write系は >クラス java.io.OutputStream から継承したメソッド ってところにまとめられているから、OutputStreamのwriteメソッドそのままなのか なぁ、と思っていました。 とりあえず、まっとうな実装であることを信じて、気にしないようにします(^^; | ||||
1
