@Override public int read(final char[] cbuf, final int off, final int len) throws IOException { synchronized (simpleString) { if (off < 0 || off > cbuf.length || len < 0 || off + len > cbuf.length || off + len < 0) { throw new IndexOutOfBoundsException(); } else if (len == 0) { return 0; } int length = simpleString.length(); if (next >= length) { return -1; } int n = Math.min(length - next, len); simpleString.getChars(next, next + n, cbuf, off); next += n; return n; } }
@Override public int read(final char[] cbuf, final int off, final int len) throws IOException { synchronized (simpleString) { if (off < 0 || off > cbuf.length || len < 0 || off + len > cbuf.length || off + len < 0) { throw new IndexOutOfBoundsException(); } else if (len == 0) { return 0; } int length = simpleString.length(); if (next >= length) { return -1; } int n = Math.min(length - next, len); simpleString.getChars(next, next + n, cbuf, off); next += n; return n; } }