Jak wydrukować surową zawartość bajtów z tablicy byte [] na stdout w Javie?

Robię ten sam projekt, co tutaj:

Zawijaj deflowane dane w formacie gzip

Moim problemem jest to, że kiedy próbuję wydrukować bajty, otrzymuję dziwne wyniki. Moje problemy występują w następującym kodzie (Przepraszamy za zły wybór zmiennych):

    for(int k = 0; k < head.length; k++){
        System.out.write(head[k]);
    }

    for(int m = 0; m < a.size(); m++){
        int comprlength = a.get(m).getclength();
        for(int ii = 0; ii < comprlength; ii++){
            System.out.write(a.get(m).getcompr()[ii]);
        }
    }
    for(int j = 0; j < f1.length; j++){
        System.out.write(f1[j]);
    }
    for(int ll = 0; ll < total_d.length; ll++){
        System.out.write(total_d[ll]);
    }

Dwie ostatnie pętle for-loops nie drukują zawartości swoich tablic bajtów. W ten sposób otrzymuję nieoczekiwany błąd końca pliku podczas używania gzip. Dziwne jest to, że jeśli skomentuję drugi blok for-loop (blok ze zmiennymi m i ii), nic nie zostanie wydrukowane.

Jak więc prawidłowo wydrukować zawartość moich tablic bajtów? Dlaczego pierwsza pętla for-loop drukuje się poprawnie, gdy druga pętla for-loop nie jest komentowana i dlaczego nie drukuje niczego, jeśli ta druga pętla for-loop jest komentowana?

EDYTOWAĆ:

Być bardziej specyficznym:

Chcę wypisać surowe bajty. I chcę to zrobić tak, aby było tuż po sobie dla każdej z moich tablic bajtów

questionAnswers(2)

yourAnswerToTheQuestion