2 * output stream with feedable byte array
4 * License : The MIT License
5 * Copyright(c) 2011 MikuToga Partners
8 package jp.sourceforge.mikutoga.binio;
10 import java.io.ByteArrayOutputStream;
11 import java.io.IOException;
12 import java.io.OutputStream;
15 * 蓄積された出力結果の他ストリームへの転送を可能とする
16 * {@link java.io.ByteArrayOutputStream}。
18 public class FeedableOutputStream extends ByteArrayOutputStream {
22 * @see java.io.ByteArrayOutputStream#ByteArrayOutputStream()
24 public FeedableOutputStream(){
31 * @param size 初期バッファ長(byte単位)。
32 * @see java.io.ByteArrayOutputStream#ByteArrayOutputStream(int)
34 public FeedableOutputStream(int size){
40 * 蓄積されたストリームデータを別ストリームへ転送する。
41 * <p>何も蓄積されていなければ何も転送されない。
42 * <p>蓄積されたストリームデータに変更は生じない。
45 * @throws IOException 転送先の出力エラー
47 public int feedStored(OutputStream os) throws IOException {
48 if(this.count <= 0) return 0;
49 os.write(this.buf, 0, this.count);