robie tego samego projektu, jak opisano tutaj:Jak wydrukować zawartość bajtów surowych z tablicy bajtów [] na stdout w Javie?
Wrap deflated data in gzip format
Moim problemem jest to, że gdy próbuję wydrukować bajtów, mam dziwne wyniki. Moje problemy występują w następujący kod (Przepraszam za mój 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]);
}
Dwa ostatnie for-pętle nie wydrukować treści swoich tablic bajtowych. W ten sposób uzyskuję nieoczekiwany koniec błędu pliku podczas korzystania z gzip. Dziwne jest to, że jeśli skomentuję drugi blok for-loop (blok ze zmiennymi m i ii), nic nie zostanie wydrukowane.
Jak poprawnie wydrukować zawartość macierzy bajtowych? Dlaczego pierwsza fraza w pętli for jest prawidłowo drukowana, gdy druga pętla for nie jest komentowana i dlaczego nie drukuje niczego, jeśli ta druga pętla for jest skomentowana?
EDIT:
Aby być bardziej konkretne:
chcę pisać surowe bajty. I chcę to zrobić tak, że tuż po siebie za każdego z moich tablic bajtowych
Jeśli użyjesz System.out.write, będziesz musiał opróżnić strumień wyjściowy, pisząc znak "\ n" na końcu kodu. – codebox