@Test public void testRead() throws IOException { File tmp = File.createTempFile("test" + new Date(), null); try { FileWriter writer = new FileWriter(tmp); writer.write("content"); writer.close(); RepeatableFileInputStream rfis = new RepeatableFileInputStream(tmp); try { ByteArrayOutputStream read = new ByteArrayOutputStream(); int curr = -1; while ((curr = rfis.read()) != -1) { read.write(curr); } read.flush(); assertEquals(rfis.getWrappedInputStream().read(), -1); assertEquals(read.toString(), "content"); assertSame(rfis.getFile(), tmp); } finally { rfis.close(); } } finally { tmp.delete(); } }