電子書籍の厳選無料作品が豊富!

任意のホストと任意のパケットを送受信するクラス(仮称:PacketSender)を書いているのですが、この中では、TCPの受信用にsocket.getInputStream()を定義し、それをread()して1バイトずつ取り出しています。しかし、Streamですから、取り出してみないと全体の長さはわかりません。
こういった場合、PacketSenderから他に受信データを渡す場合、byte[65535]とか適当な大きさの配列を作って突っ込む、あるいはArrayListを作って逐一addしていくしか方法はないのでしょうか。
ぴったりの長さのbyte[]を返せればいいのですが・・・。

A 回答 (1件)

わたしなら、java.io.ByteArrayOutputStream に読み込んだデータを入れて、すべて読み込んでから toByteArray() メソッドで byte 配列に直します。



もっといい方法があるとおもいますが。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます!初耳のオブジェクトなので、もっと勉強してみます。

お礼日時:2002/12/18 14:11

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