Como pegar valor dessa string

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

[code]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;
    }
}[/code]

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:

[code]teste =leitura.recebeDoPic();
System.out.println(teste);

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

}[/code]

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

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!

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

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.

Não tem nenhuma stack trace sendo impressa?

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!!!

Faça assim, apenas como teste:

Crie uma string e a pegue os bytes dela:

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

Abraços.

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.