Como pegar valor dessa string

7 respostas
Willdoidao

Pessoal tenho uma duvida, como faço pra pegar o valor dessa string do codigo abaixo:

public String recebeDoPic()
    {
        try
        {
            inputStream = serialPort.getInputStream();

            byte[] b=null;
            inputStream.read(b);

            String s=new String(b);
            return s;
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return null;
        }
    }

Sei que tá retornando a string S mas como usar ela em outra classe pq estou fazendo assim:

Chamo a classe :
ComunicaçãoSerial leitura=new ComunicaçãoSerial();
e quero usar em um equals:
teste =leitura.recebeDoPic();
            System.out.println(teste);

        if (teste.equals("E")) {

}

Como seria a maneira correta já que essa dá erro!??!?!

7 Respostas

nel

Boa tarde.

Você está usando o read para ler um array de biteys nulos, fica complicado dai mesmo concorda? :slight_smile:
Outro detalhe, sempre que seu código conter um erro e quiser nossa ajude, poste o erro ok?

Abraços!

Willdoidao

Ma o erro é que nw está retornando nada! E sei que está sendo enviado pq testei como hyperterminal e está recebendo a informação

nel

Deve estar dando NullPointerException() mas como você dá um return null; dentro da execption está indo uma string nula para a sua classe. Altere o seu byte[] para receber algum outro valor, pode ser até mesmo uma string qualquer da seguinte forma.

String teste = "Teste"; byte[] b = teste.getBytes();

//resto da sua lógica

Abraços.

rmendes08

Não tem nenhuma stack trace sendo impressa?

Willdoidao

Não sei se tem algo haver mas essa função pega a string que vem da porta serial, e como faço pra tirar o null, já que quando tiro ele o netbeans pede a inicialização da variável!!!

nel

Faça assim, apenas como teste:

Crie uma string e a pegue os bytes dela:

String teste = "Testando"; byte[] b = teste.getBytes();

Abraços.

rmendes08

Você tem que inicializar a variável com algum array válido, ou seja, você tem que pré-definir o tamanho do seu buffer para ele ser preenchido.

Criado 4 de novembro de 2009
Ultima resposta 5 de nov. de 2009
Respostas 7
Participantes 3