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