public class LineReader {
- private static int MAXBUF = 1024 * 16;
+ private int MAXBUF = 1024 * 16;
char[] buf = new char[MAXBUF];
int buflen = 0;
Reader r;
return ret;
}
}
+ if (buflen == MAXBUF) {
+ char[] buf2 = new char[MAXBUF*2];
+ System.arraycopy(buf, 0, buf2, 0, buflen);
+ buf = buf2;
+ MAXBUF *= 2;
+ }
int numread = r.read(buf, buflen, MAXBUF - buflen);
if (numread == -1) {
if (buflen == 0) return null;