Lendo um inputStream

8 respostas
R

Ola
Eu estou lendo um inputStream e logando as informaçoes em arquivo de log através do seguinte codigo:

byte[] readBuffer = new byte[20];
try {
	while (inputStream.available() > 0) {
		int numBytes = inputStream.read(readBuffer); 
	}
	logger.info(new String(readBuffer));
} catch (IOException e) {
	e.printStackTrace();
}

Eu nao estou obtendo muito sucesso, pois os dados obtidos estao meio bagunçado, portanto eu gostaria de entender porque o array readBuffer possui 20 posições, e para que serve a variavel numBytes.

Desde já muito obrigado.

Observação:
O inputStream representa uma saida serial da porta COM4

CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(PORT);
SerialPort serialPort = (SerialPort) portId.open("Modem-MC35i", 2000);
InputStream inputStream = serialPort.getInputStream();

8 Respostas

JimMorrison

Para conhecer o funcionamento de classes, uma boa pedida eh consultar a documentacao,
do JSE o endereco eh:

http://java.sun.com/javase/6/docs/api/

20 é o tamanho do buffer… ou seja ele vai ler 20 posicoes de cada vez…

no codigo q voce usou numbytes nao esta servindo pra nada, mas o q esta retornando la e o numero de qts posicoes foram lidas… se for -1 eh pq nao tinha nada no inputStream

J

OI

VC CONHECE LOGICA ?!! GURU ou GURI

VOU TE EXPLICAR

O NUMBYTES É UM CONTADOR DE BYTES QUE NAO FOI USADO NESTA
TRECHO

OU SEJA CADA POSICAO NO NA MATRIZ OCUPA 1 BYTE (PORQUE VC DECLAROU COMO TIPO BYTE) OCUPANDO 8 BITS

ENTAO ESTA VARIÁVEL SERÁ USADO COMO CONTADOR DE BYTES PARA ALGUMA COISA …PARA DEFINIR HEADER DE PROTOCOLO OU SEI LA O QUE…

CADE O RESTANTE DO CODE

J

OI

VC CONHECE LOGICA ?!! GURU ou GURI

VOU TE EXPLICAR

O NUMBYTES É UM CONTADOR DE BYTES QUE NAO FOI USADO NESTA
TRECHO

OU SEJA CADA POSICAO NO NA MATRIZ OCUPA 1 BYTE (PORQUE VC DECLAROU COMO TIPO BYTE) OCUPANDO 8 BITS

ENTAO ESTA VARIÁVEL SERÁ USADO COMO CONTADOR DE BYTES PARA ALGUMA COISA …PARA DEFINIR HEADER DE PROTOCOLO OU SEI LA O QUE…

CADE O RESTANTE DO CODE

J

VIU EU ESQUECI DE TE PERGUNTAR !!!

COMO É QUE EU FACO PARA SER UM GURU ?

J

VIU

VC NAO ME RESPONDEU

COMO EU FAÇO PARA SER JAVAGURU ?

TEM QUE SER AMIGO DO “O CARA”

J

VIU

VC NAO ME RESPONDEU

COMO EU FAÇO PARA SER JAVAGURU ?

TEM QUE SER AMIGO DO “O CARA”

RenataFA

Na verdade tem que ser “amigo” de muita gente…

Os títulos que levamos logo abaixo do nosso nome não são dados por ngn. O próprio site vai te qualificando de acordo com qtas mensagens de ajuda vc postou.

Um JavaGuru tem que ter postado mais de 200 mensagens, como explica esse link: http://www.guj.com.br/posts/list/46375.java#244039

Agora! Não vai se empolgar só por causa disso e ficar mandando “zilhões” de msgs só pra chegar nas 200 mais rápido hein!!!

Robson_j_s_Diniz

RenataFA:
Na verdade tem que ser “amigo” de muita gente…

Os títulos que levamos logo abaixo do nosso nome não são dados por ngn. O próprio site vai te qualificando de acordo com qtas mensagens de ajuda vc postou.

Um JavaGuru tem que ter postado mais de 200 mensagens, como explica esse link: http://www.guj.com.br/posts/list/46375.java#244039

Agora! Não vai se empolgar só por causa disso e ficar mandando “zilhões” de msgs só pra chegar nas 200 mais rápido hein!!!

Renata, sou novo aqui, e vi sua resposta, confesso que gostei pois todos aqui estão para ajudar e ou serem ajudados, acredito que se alguém não pensa assim não deveria estar aqui. Devemos lembrar que a simplicidade é uma qualidade!

Criado 26 de setembro de 2007
Ultima resposta 3 de set. de 2008
Respostas 8
Participantes 5