@Override
  public long skip(long n) throws IOException {
    if (n <= 0) {
      return 0;
    }

    synchronized (this) {
      checkNotClosed();
      if (finished) {
        return 0;
      }

      // available() must be an int, so the min must be also
      int skip = (int) Math.min(Math.max(file.size() - pos, 0), n);
      pos += skip;
      return skip;
    }
  }
@Test
  public void testSkip() throws IOException {
    JimfsInputStream in = newInputStream(1, 2, 3, 4, 5, 6, 7, 8);
    assertThat(in.skip(0)).isEqualTo(0);
    assertThat(in.skip(-10)).isEqualTo(0);
    assertThat(in.skip(2)).isEqualTo(2);
    assertThat(in.read()).isEqualTo(3);
    assertThat(in.skip(3)).isEqualTo(3);
    assertThat(in.read()).isEqualTo(7);
    assertThat(in.skip(10)).isEqualTo(1);
    assertEmpty(in);
    assertThat(in.skip(10)).isEqualTo(0);
    assertEmpty(in);
  }