ソケットを介してバイト配列を送信し、DataInputStreamを介して受信しています。バイト配列のサイズがわからないので、確認する方法がありません。私はこれをやってみました:
byte[] content = new byte[ARRAY_SIZE];
int something;
while((something = inFromStream.read()) > 0)
output.write(something);
ただし、これは、バイト配列のサイズを知る必要があることを意味します。巨大な数値を入力するだけでは不十分です(ストリームから受信したバイト配列は100、場合によっては5000000000になる可能性があるため)。これにどのように対処しますか(できれば標準のJava API /ライブラリを使用)?