皆様レスありがとうございました。
結局
ByteArrayOutputStream oSt = new ByteArrayOutputStream();
ImageIO.write(bi,"png",oSt);
byte[] t = oSt.toByteArray();
//ヘッダ
     byte[] stSend = stHead.getBytes();

として強引にtに書き込みました。
そこでtとヘッダのstSendを足したいのですが、バイナリデータ同士を足すにはどうすればよいのでしょうか?