Como imprimir conteúdo bruto de byte de um array byte [] para stdout em Java?
Eu estou fazendo o mesmo projeto descrito aqui:
Enrole os dados esvaziados no formato gzip
Meu problema é que, quando tento imprimir bytes, obtenho resultados estranhos. Meus problemas ocorrem no seguinte código (Desculpe pela minha má escolha de variáveis):
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]);
}
Os dois últimos loops não imprimem o conteúdo dos seus arrays de bytes. Assim, recebo um erro inesperado no final do arquivo ao usar o gzip. O estranho é que, se eu comentar o segundo bloco for-loop (o bloco com as variáveis me ii), nada é impresso.
Então, como faço para imprimir corretamente o conteúdo dos meus arrays de bytes? Por que o primeiro loop for impresso corretamente quando o segundo for-loop não é comentado e por que ele não imprime nada se esse segundo loop for for comentado?
EDITAR:
Para ser mais específico:
Eu quero escrever os bytes brutos. E eu quero fazer isso para que fique logo após o outro para cada um dos meus arranjos de bytes