Inputstream não lê dado inteiro

1 resposta
inputstream
kleberaugus

O que há de errado com meu código, estou lendo o arquivo e gravando só pra ver se o código funciona sem alterá-lo, porém quando eu gravo o arquivo ele sempre fica 2048 bytes menor que o arquivo original:

byte[] buffer = new byte[2048];
int readBytes = inputstream.read(buffer, 0, 2048);
while(readBytes !=-1){  
	readBytes = inputstream.read(buffer, 0, 2048); 
	for(int i = 0;i<readBytes;i++){    
		int decimal = buffer[i];
		String binario = conversor.ConverterDecimalToBinario(decimal);
		int decimal1 = conversor.ConverterBinarioToDecimal(binario);
		outputstream.write(decimal1); // GRAVAÇÃO
	} // FIM DO FOR
} // FIM DO WHILE

1 Resposta

staroski

Você não está processando 2048 os bytes que foram lidos antes de entrar no while.

Criado 17 de fevereiro de 2019
Ultima resposta 19 de fev. de 2019
Respostas 1
Participantes 2