VectorとDataOutputStreamがあります。 Vectorからバイトを書き込む必要があります(toArrayはByte []を返します)が、byte []のみを理解します。 Byte []をbyte []に変換する方法は?
Apache Commons lang ライブラリー ArrayUtils クラスで toPrimitive メソッドを使用できますか?
byte[] toPrimitives(Byte[] oBytes)
{
byte[] bytes = new byte[oBytes.length];
for(int i = 0; i < oBytes.length; i++) {
bytes[i] = oBytes[i];
}
return bytes;
}
逆:
// byte[] to Byte[]
Byte[] toObjects(byte[] bytesPrim) {
Byte[] bytes = new Byte[bytesPrim.length];
int i = 0;
for (byte b : bytesPrim) bytes[i++] = b; // Autoboxing
return bytes;
}
freeone3000がこの回答に貢献しました:)
Vector <Byte>は、バイトを格納するために使用できるのと同じくらい非効率的な構造です。 toByteArray()メソッドを持つより効率的な行ByteArrayOutputStreamを使用することを真剣に検討します。つまり、ベクターを変換するだけでなく、コードから削除します。