forked from jankotek/mapdb
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDataInputToStream.java
More file actions
42 lines (34 loc) · 920 Bytes
/
Copy pathDataInputToStream.java
File metadata and controls
42 lines (34 loc) · 920 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package org.mapdb.io;
import java.io.Closeable;
import java.io.DataInput;
import java.io.IOException;
import java.io.InputStream;
/**
* Wraps {@code DataInput} into {@code InputStream}
*/
public final class DataInputToStream extends InputStream {
protected final DataInput2 in;
public DataInputToStream(DataInput2 in) {
this.in = in;
}
@Override
public int read(byte[] b, int off, int len) throws IOException {
in.readFully(b,off,len);
return len;
}
@Override
public long skip(long n) throws IOException {
n = Math.min(n, Integer.MAX_VALUE);
//$DELAY$
return in.skipBytes((int) n);
}
@Override
public void close() throws IOException {
if(in instanceof Closeable)
((Closeable) in).close();
}
@Override
public int read() throws IOException {
return in.readUnsignedByte();
}
}