Oi pessoal gostaria muito da ajuda de vcs para a resolução de um exercício:
…e o seguinte preciso criar uma subclasse para OutputStream e nela preciso implementar o método public abstract void write(int b) throws IOException
nesse método eu preciso verificar se o b é um inteiro entre 0 e 255, depois tenho que criar um array de bytes de acordo com o inteiro b. e se b estiver fora dessa faixa, então apenas o byte menos significativo do inteiro deve ser enviado e os três bytes restantes devem ser descartados… alguém poderia me dizer como faço pra encontrar o byte menos significativo de um array de bytes?
…qualquer ajuda é valida! Desde já o meu agradecimento!
… o problema é que preciso utilizar um inteiro na assinatura. e depois convertê-lo pra um array de bytes após isso descobrir o byte menos significativo do inteiro. Alguem poderia me ajudar?
ViniGodoy e peczenyj obrigado pelas dicas!!
Paulo_Silveira
nao da, eh o contrato da OutputStream.
faça o seguinte: crie uma classe X que extends OutputStream. dentro dela tenha um atributo do tipo ByteArrayOutputStream, e va delegando todo write para o write desse BAOS. no final, quando precisar de todos os bytes, tem um metodo no BAOS que chama toByteArray ou qualquer coisa do genero.
Geovani_Martins
…então quer dizer Paulo que não da pra mim transformar um inteiro em um array de bytes?
dreamspeaker
Porque o cast não serve?
int i = 269;
byte b = (byte) i;
System.out.println(b);
Ou o que o Viny fez, sei lá. Parece que isso resolve.
ViniGodoy
Resolve sim.
Aqui usamos muito esse tipo de coisa.