Package org.apache.commons.io.input
Class UnsynchronizedByteArrayInputStream
java.lang.Object
java.io.InputStream
org.apache.commons.io.input.UnsynchronizedByteArrayInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
This is an alternative to
ByteArrayInputStream
which removes the synchronization overhead for non-concurrent access; as such this class is
not thread-safe.
To build an instance, use UnsynchronizedByteArrayInputStream.Builder
.
- Since:
- 2.7
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]
The underlying data buffer.static final int
The end of stream marker.private final int
End Of Data.private int
The current mark (if any).private int
Current offset in the data buffer. -
Constructor Summary
ConstructorsModifierConstructorDescriptionUnsynchronizedByteArrayInputStream
(byte[] data) Deprecated.UnsynchronizedByteArrayInputStream
(byte[] data, int offset) Deprecated.UnsynchronizedByteArrayInputStream
(byte[] data, int offset, int length) Deprecated.private
UnsynchronizedByteArrayInputStream
(byte[] data, int eod, int offset, int markedOffset) -
Method Summary
Modifier and TypeMethodDescriptionint
builder()
Constructs a newUnsynchronizedByteArrayInputStream.Builder
.void
mark
(int readLimit) boolean
private static int
minPosLen
(byte[] data, int defaultValue) int
read()
int
read
(byte[] dest) int
read
(byte[] dest, int off, int len) private static int
requireNonNegative
(int value, String name) void
reset()
long
skip
(long n) Methods inherited from class java.io.InputStream
close
-
Field Details
-
END_OF_STREAM
public static final int END_OF_STREAMThe end of stream marker.- See Also:
-
data
private final byte[] dataThe underlying data buffer. -
eod
private final int eodEnd Of Data. Similar to data.length, i.e. the last readable offset + 1. -
offset
private int offsetCurrent offset in the data buffer. -
markedOffset
private int markedOffsetThe current mark (if any).
-
-
Constructor Details
-
UnsynchronizedByteArrayInputStream
Deprecated.Constructs a new byte array input stream.- Parameters:
data
- the buffer
-
UnsynchronizedByteArrayInputStream
Deprecated.Constructs a new byte array input stream.- Parameters:
data
- the bufferoffset
- the offset into the buffer- Throws:
IllegalArgumentException
- if the offset is less than zero
-
UnsynchronizedByteArrayInputStream
Deprecated.Constructs a new byte array input stream.- Parameters:
data
- the bufferoffset
- the offset into the bufferlength
- the length of the buffer- Throws:
IllegalArgumentException
- if the offset or length less than zero
-
UnsynchronizedByteArrayInputStream
private UnsynchronizedByteArrayInputStream(byte[] data, int eod, int offset, int markedOffset)
-
-
Method Details
-
builder
Constructs a newUnsynchronizedByteArrayInputStream.Builder
.- Returns:
- a new
UnsynchronizedByteArrayInputStream.Builder
.
-
minPosLen
private static int minPosLen(byte[] data, int defaultValue) -
requireNonNegative
-
available
public int available()- Overrides:
available
in classInputStream
-
mark
public void mark(int readLimit) - Overrides:
mark
in classInputStream
-
markSupported
public boolean markSupported()- Overrides:
markSupported
in classInputStream
-
read
public int read()- Specified by:
read
in classInputStream
-
read
public int read(byte[] dest) - Overrides:
read
in classInputStream
-
read
public int read(byte[] dest, int off, int len) - Overrides:
read
in classInputStream
-
reset
public void reset()- Overrides:
reset
in classInputStream
-
skip
public long skip(long n) - Overrides:
skip
in classInputStream
-
builder()
,UnsynchronizedByteArrayInputStream.Builder
, andUnsynchronizedByteArrayInputStream.Builder.get()
.