@Test public void testRead_WithPartialBuffer() throws IOException { int bytesLeft = testData.length; ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] buffer = new byte[10]; while (bytesLeft > 0) { int numRead = stream.read(buffer, 0, 2); if (numRead > 0) { bytesLeft -= numRead; out.write(buffer, 0, numRead); } } Assert.assertEquals(-1, stream.read()); Assert.assertArrayEquals(testData, out.toByteArray()); }
@Override public int read() throws IOException { if (available() <= 0) { return -1; } return raf.read(); }
RandomAccessFileInputStream extends InputStream { @Override public int read() throws IOException { if (available() <= 0) { return -1; } return raf.read(); } }
RandomAccessFileInputStream extends InputStream { @Override public int read() throws IOException { if (available() <= 0) { return -1; } return raf.read(); } RandomAccessFileInputStream(File file);  RandomAccessFileInputStream(File file, long rangeOffset, long rangeLength); }
RandomAccessFileInputStream extends InputStream { @Override public int read() throws IOException { if (available() <= 0) { return -1; } return raf.read(); } RandomAccessFileInputStream(File file);  RandomAccessFileInputStream(File file, long rangeOffset, long rangeLength); void setRange(long rangeOffset, long rangeLength); @Override int available(); long getPosition(); @Override void close(); @Override int read(); @Override int read(byte[] b, int off, int len); @Override int read(byte[] b); @Override long skip(long n); @Override boolean markSupported(); @Override void mark(int readlimit); @Override void reset(); long length(); }
RandomAccessFileInputStream extends InputStream { @Override public int read() throws IOException { if (available() <= 0) { return -1; } return raf.read(); } RandomAccessFileInputStream(File file);  RandomAccessFileInputStream(File file, long rangeOffset, long rangeLength); void setRange(long rangeOffset, long rangeLength); @Override int available(); long getPosition(); @Override void close(); @Override int read(); @Override int read(byte[] b, int off, int len); @Override int read(byte[] b); @Override long skip(long n); @Override boolean markSupported(); @Override void mark(int readlimit); @Override void reset(); long length();  }