下面列出了org.apache.commons.io.input.NullInputStream#read ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public synchronized int read(final byte[] chunk, final Long offset) throws IOException {
final RandomAccessFile file = random();
if(offset < file.length()) {
file.seek(offset);
if(chunk.length + offset > file.length()) {
return file.read(chunk, 0, (int) (file.length() - offset));
}
else {
return file.read(chunk, 0, chunk.length);
}
}
else {
final NullInputStream nullStream = new NullInputStream(length);
if(nullStream.available() > 0) {
nullStream.skip(offset);
return nullStream.read(chunk, 0, chunk.length);
}
else {
return IOUtils.EOF;
}
}
}
@Test(expected = IOException.class)
public void compute() throws Exception {
final NullInputStream in = new NullInputStream(0L);
new DisabledChecksumCompute().compute(in, new TransferStatus());
assertEquals(-1, in.read());
in.read();
}