try { String input; char buf[] = new char[8000]; char data; for (;;) { int len = 0; while ((data = (char) r.read()) > 0) { System.out.println("data = " + (int) data); buf[len++] = (char )data; } System.out.println("Got msg size: " + len); String msg = new String(buf,0,len); processMsg(msg); } } catch (IOException e) { e.printStackTrace(); return; }