@Override
    public long skip(long ns) throws IOException {
        ensureOpen();
        if (mPosition >= mLimit) {
            return 0;
        }

        long n = Math.min(mLimit - mPosition, ns);
        n = Math.max(-mPosition, n);
        mPosition += n;
        return n;
    }
@Test
    void testSkip() throws IOException {
        UnsafeStringReader reader = new UnsafeStringReader("abc");
        assertThat(reader.ready(), is(true));
        reader.skip(1);
        assertThat(reader.read(), is((int) 'b'));
    }