Я пишу в BufferedOutputStream три раза:Сохранить длину байтового массива в массиве байт
b1 = baos1.toByteArray();
b2 = baos2.toByteArray();
bos.write(b1);
bos.write(b2);
bos.write(b1.length);
System.out.println(b1.length);
System.out.println(b2.length);
bos.flush();
bos.close();
Я хочу, чтобы получить значение писало (b1.length) в другом классе, но значение, которое я получаю отличается от первого * .println().
System.out.println(aux.length); // The entire stream (b1+b2+b1.length)
System.out.println(aux[aux.length - 1]);
Например:
Println 1 -> 123744
Println 2 -> 53858
Println 3 -> 177603
Println 4 -> 96
В этом случае println1 и println4 должны возвращаться в том же размере. Что я делаю неправильно?
Я проверил, что 1 байт написан (177603-123744-53858 = 1), который является байтом b1.length.
Может ли кто-нибудь помочь мне правильно написать размер массива первого байта?