|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.io.InputStream
it.unimi.dsi.fastutil.io.FastMultiByteArrayInputStream
public class FastMultiByteArrayInputStream
Simple, fast and repositionable byte array input stream that multiplexes its content among several arrays.
This class is significantly slower than FastByteArrayInputStream,
but it can hold 256 PiB of data. The relevant constructor is FastMultiByteArrayInputStream(InputStream, long),
which fetches a stream and loads it into a sequence of byte arrays.
| Field Summary | |
|---|---|
byte[][] |
array
The array of arrays backing the input stream. |
long |
length
The number of valid bytes in array. |
static int |
SLICE_BITS
The number of bits of an array slice index. |
static int |
SLICE_MASK
The mask to retrieve a slice offset. |
static int |
SLICE_SIZE
The maximum length of an array slice. |
| Constructor Summary | |
|---|---|
FastMultiByteArrayInputStream(byte[] array)
Creates a new multi-array input stream using a given array. |
|
FastMultiByteArrayInputStream(FastMultiByteArrayInputStream is)
Creates a new multi-array input stream sharing the backing arrays of another multi-array input stream. |
|
FastMultiByteArrayInputStream(InputStream is,
long size)
Creates a new multi-array input stream loading it from an input stream. |
|
FastMultiByteArrayInputStream(MeasurableInputStream is)
Creates a new multi-array input stream loading it from a measurable input stream. |
|
| Method Summary | |
|---|---|
int |
available()
Returns the number of bytes that can be read (or skipped over) from this input stream without blocking. |
void |
close()
Closing a fast byte array input stream has no effect. |
void |
mark(int dummy)
|
boolean |
markSupported()
|
long |
position()
Returns the current stream position. |
void |
position(long newPosition)
Sets the current stream position. |
int |
read()
|
int |
read(byte[] b,
int offset,
int length)
|
void |
reset()
|
long |
skip(long n)
|
| Methods inherited from class java.io.InputStream |
|---|
read |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int SLICE_BITS
public static final int SLICE_SIZE
public static final int SLICE_MASK
public byte[][] array
public long length
array.
| Constructor Detail |
|---|
public FastMultiByteArrayInputStream(MeasurableInputStream is)
throws IOException
is - the input stream that will fill the array.
IOException
public FastMultiByteArrayInputStream(InputStream is,
long size)
throws IOException
is - the input stream that will fill the array.size - the number of bytes to be read from is.
IOExceptionpublic FastMultiByteArrayInputStream(FastMultiByteArrayInputStream is)
is - the multi-array input stream to replicate.public FastMultiByteArrayInputStream(byte[] array)
array - the backing array.| Method Detail |
|---|
public boolean markSupported()
markSupported in class InputStreampublic void reset()
reset in class InputStreampublic void close()
close in interface Closeableclose in class InputStreampublic void mark(int dummy)
mark in class InputStreampublic int available()
Note that this number may be smaller than the number of bytes actually
available from the stream if this number exceeds Integer.MAX_VALUE.
available in class InputStreamInteger.MAX_VALUE.public long skip(long n)
skip in class InputStreampublic int read()
read in class InputStream
public int read(byte[] b,
int offset,
int length)
read in class InputStreampublic long position()
RepositionableStream
position in interface RepositionableStreampublic void position(long newPosition)
RepositionableStream
position in interface RepositionableStreamnewPosition - the new stream position.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||