@NotThreadSafe public class LengthCheckInputStream extends SdkFilterInputStream
Modifier and Type | Field and Description |
---|---|
static boolean |
EXCLUDE_SKIPPED_BYTES |
static boolean |
INCLUDE_SKIPPED_BYTES |
Constructor and Description |
---|
LengthCheckInputStream(InputStream in,
long expectedLength,
boolean includeSkipped)
Constructs an input stream that performs length check to ensure the
number of bytes read from the underlying input stream is the same as the
expected total.
|
Modifier and Type | Method and Description |
---|---|
void |
mark(int readlimit) |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
void |
reset() |
long |
skip(long n) |
abort, available, close, getDelegateStream, isMetricActivated, markSupported, release
read
public static final boolean INCLUDE_SKIPPED_BYTES
public static final boolean EXCLUDE_SKIPPED_BYTES
public LengthCheckInputStream(InputStream in, long expectedLength, boolean includeSkipped)
in
- the underlying input streamexpectedLength
- the total length of the data in bytes expected to be read from
the underlying input stream; must be non-negative.includeSkipped
- true if bytes skipped are to be considered as part of the data
length; false otherwise. Typically, this parameter should be
set to false for uploading data to AWS, but set to true for
receiving data from AWS.public int read() throws IOException
read
in class SdkFilterInputStream
SdkClientException
- if the data length read has exceeded the expected total, or
if the total data length is not the same as the expected
total.IOException
public int read(byte[] b, int off, int len) throws IOException
read
in class SdkFilterInputStream
SdkClientException
- if the data length read has exceeded the expected total, or
if the total data length is not the same as the expected
total.IOException
public void mark(int readlimit)
mark
in class SdkFilterInputStream
public void reset() throws IOException
reset
in class SdkFilterInputStream
IOException
public long skip(long n) throws IOException
skip
in class SdkFilterInputStream
SdkClientException
- if includeSkipped
is true and the data length
skipped has exceeded the expected total.IOException