0

次のように宣言された byte[] があります。

byte[] buffer;
buffer = new byte[128];

次に、Bluetooth 経由で受信データのサイズを取得します。

bytes = GlobalVar.mmInStream.read(buffer);

バイトは、受信したデータのサイズです。私が必要とするのは、バッファのサイズをデータを含むサイズに変更することです。

4

2 に答える 2

2

配列のサイズを変更できないため (不変です)、コピーを作成する必要があります。

byte[] data = new byte[bytes]
System.arraycopy(buffer, 0, data, 0, bytes)

ただし、何らかの理由で必要にbufferなるまで読み続けて使用する方が確実に効率的です。bytes

于 2013-09-13T10:01:08.043 に答える