Em Java, um objeto InputStream representa uma fonte de um fluxo de bytes. Os bytes podem vir de um arquivo, uma conexão de rede , um tubo ou outras possíveis fontes . O tema comum é que , embora o programa pode solicitar que um determinado número de bytes ser lido , o fluxo pode retornar menos bytes - e, portanto, necessitam de várias leituras para entregar a mensagem completa. Você pode ler qualquer número de bytes de um InputStream em seu código Java, enquanto você lida com essa condição corretamente. Instruções 
 um 
 Inclua a seguinte linha no início do seu código Java : 
 
 import java.io. *; 
 2 
 Declare as seguintes variáveis em preparação para a leitura do fluxo : 
 
 int currOffset = 0; 
 
 int lastRead = 0; 
 3 
 Ler a partir da InputStream usando um loop até que todos os bytes necessários foram lidos, como no seguinte exemplo de código : 
 
 while ( currOffset < numBytes 
 
 && ( lastRead = Stream.Read (buffer, currOffset , numBytes - currOffset ) ) > = 0) { 
 
 currOffset + = lastRead ; 
 
 } 
 
 Substitua o " tampão" com o local onde você deseja armazenar os bytes de entrada a partir do InputStream , e " numBytes " com o número total de bytes que você precisa ler .