C'è uno dei costruttori di String che accetta in input un array di byte: String(byte[] bytes).
Ora, dal momento che stai usando il metodo write(byte[] buf, int off, int len) di PrintStream, l'array dovresti averlo a disposizione...
codice:byte[] array; . . . System.out.write(array, 0, array.length); . . . String stringa = new String(array);