BufferedOutputStream に 3 回書き込んでいます。
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
プリントイン 4 --> 96
その場合、println1 と println4 は同じサイズを返す必要があります。私が間違っていることは何ですか?
b1.length バイトである 1 バイト (177603-123744-53858 = 1) が書き込まれていることを確認しました。
誰かが最初のバイト配列のサイズを正しく書くのを手伝ってくれますか?