Java - Byte [] to byte [] - программирование
Подтвердить что ты не робот

Java - Byte [] to byte []

Существует Vector и DataOutputStream. Мне нужно записать байты из Vector (toArray возвращает Byte []) в поток, но он понимает только байт []. Как преобразовать Byte [] в байт []?

4b9b3361

Ответ 2

byte[] toPrimitives(Byte[] oBytes)
{
    byte[] bytes = new byte[oBytes.length];

    for(int i = 0; i < oBytes.length; i++) {
        bytes[i] = oBytes[i];
    }

    return bytes;
}

Inverse:

// 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 в этом ответе:)

Ответ 3

Вектор <Byte> представляет собой неэффективную структуру, как вы могли бы использовать для хранения байтов. Я бы серьезно подумал об использовании более эффективной строки ByteArrayOutputStream, которая имеет метод toByteArray(). т.е. не просто преобразовать вектор, а удалить его из кода.