Nel ciclo while non inserire la risposta in una stringa ma in un array di byte.

Se ti dovesse in seguito servire la stringa puoi sempre usare il costruttore
new String(byte[] data).