while(true) {
int numread = r.read(chars, numchars, chars.length - numchars);
if (numread == -1) return new String(chars, 0, numchars);
while(true) {
int numread = r.read(chars, numchars, chars.length - numchars);
if (numread == -1) return new String(chars, 0, numchars);