Help me, saída de byte para String

PessoALL,

Estou precisando de ajuda urgente, fiz um sistema para teste usando conexao UDP, cliente/servidor, o programa é o seguinte, mando uma frase pro servidor e ele me retorna a mesma frase, porem quando a frase é retornada ela vem com um monte de lixo depois da frase.

Exemplo.
Escrevo no cliente MAsoft
Dai vai para o servidor e retorna pro cliente novamente o MAsoft e cheio de quadradinhos no final.

Segue abaixo a parte que imprime o resultado.

     // declara o pacote a ser recebido
    DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
    
    try {
        // recebe pacote do servidor
        clientSocket.receive(receivePacket);
    } catch (IOException ex) {
        ex.printStackTrace();
    }
  
    // separa somente o dado recebido 
    String modifiedSentence = new String(receivePacket.getData());        
         
    saida.setText("Resultado: "+modifiedSentence);

    // fecha o cliente
    clientSocket.close();

Como faço para tirar isso?
Desde já agradeço.

Eces quadradinhos são o clássico caracter ‘\0’ q indica o fim da String. Tente fazer while != ‘\0’ para ler a string tirando o lixo. Acredito que seja isso…

Como que coloco o while no codigo? Já tentei de um monte de jeito.

while(condicao) { Alguma_Coisa(); }

Dentro do teu while tu manda imprimir os caracteres até tu encontrar o caractere ‘\0’…

[]'s.