ResettableInputStream extends ReleasableInputStream { @Override public final boolean markSupported() { return true; } ResettableInputStream(File file);  ResettableInputStream(FileInputStream fis); private  ResettableInputStream(FileInputStream fis, File file); @Override final boolean markSupported(); @Override void mark(int _); @Override void reset(); @Override int available(); @Override int read(); @Override long skip(long n); @Override int read(byte[] arg0, int arg1, int arg2); File getFile(); static ResettableInputStream newResettableInputStream(File file); static ResettableInputStream newResettableInputStream(File file,
            String errmsg); static ResettableInputStream newResettableInputStream(
            FileInputStream fis); static ResettableInputStream newResettableInputStream(
            FileInputStream fis, String errmsg);  }
@Test public void testFileInputStream() throws IOException { InputStream is = new FileInputStream(file); assertFalse(is.markSupported()); final String content = IOUtils.toString(is); final String content2 = IOUtils.toString(is); assertTrue(content.length() == 100); assertEquals(content2, ""); is.close(); }