code: public long skip(long n) throws IOException {
  
          long remaining = n;
          final char[] ch = new char[fBuffer.length];
          do {
              int length = ch.length < remaining ? ch.length : (int)remaining;
              int count = read(ch, 0, length);
              if (count > 0) {
                  remaining -= count;
              }
              else {
                  break;
              }
          } while (remaining > 0);
  
          long skipped = n - remaining;
          return skipped;
  
      }
docs: Skip characters.  This method will block until some characters are
  available, an I/O error occurs, or the end of the stream is reached.
  
  @param  n  The number of characters to skip
  
  @return    The number of characters actually skipped
  
  @exception  IOException  If an I/O error occurs