public interface NonBlockingInputStream extends Closeable
| Modifier and Type | Method and Description |
|---|---|
int |
available()
Returns an estimate of the number of bytes that can be read (or skipped
over) from this input stream without blocking by the next invocation of a
method for this input stream.
|
void |
close()
Closes this input stream and releases any system resources associated
with the stream.
|
boolean |
hasMoreBytes() |
void |
mark(int readlimit)
Marks the current position in this input stream.
|
boolean |
markSupported()
Tests if this input stream supports the
mark and
reset methods. |
void |
noMoreBytes() |
int |
read()
Reads the next byte of data from the input stream.
|
int |
read(byte[] b)
Reads some number of bytes from the input stream and stores them into the
buffer array
b. |
int |
read(byte[] b,
int off,
int len)
Reads up to
len bytes of data from the input stream into an
array of bytes. |
int |
readNonBlocking(byte[] b) |
int |
readNonBlocking(byte[] b,
int off,
int len) |
int |
readNonBlocking(byte[] b,
int off,
int len,
long timeout) |
int |
readNonBlocking(byte[] b,
long timeout) |
void |
reset()
Repositions this stream to the position at the time the
mark
method was last called on this input stream. |
long |
skip(long n)
Skips over and discards
n bytes of data from this input
stream. |
int read() throws IOException
int in the range 0 to
255. If no byte is available because the end of the stream
has been reached, the value -1 is returned. This method
blocks until input data is available, the end of the stream is detected,
or an exception is thrown.
-1 if the end of the
stream is reached.IOException - if an I/O error occurs.int read(byte[] b) throws IOException
b. The number of bytes actually read is
returned as an integer. This method blocks until input data is available,
end of file is detected, or an exception is thrown.
b is zero, then no bytes are read and
0 is returned; otherwise, there is an attempt to read at
least one byte. If no byte is available because the stream is at the end
of the file, the value -1 is returned; otherwise, at least
one byte is read and stored into b.
b[0], the next
one into b[1], and so on. The number of bytes read is, at
most, equal to the length of b. Let k be the number
of bytes actually read; these bytes will be stored in elements
b[0] through b[k-1],
leaving elements b[k] through
b[b.length-1] unaffected.
read(b) method for class InputStream has
the same effect as:
read(b, 0, b.length) b - the buffer into which the data is read.-1 if there is no more data because the end of the stream
has been reached.IOException - If the first byte cannot be read for any reason
other than the end of the file, if the input stream has been closed, or
if some other I/O error occurs.NullPointerException - if b is null.InputStream.read(byte[], int, int)int read(byte[] b,
int off,
int len)
throws IOException
len bytes of data from the input stream into an
array of bytes. An attempt is made to read as many as len
bytes, but a smaller number may be read. The number of bytes actually
read is returned as an integer.
len is zero, then no bytes are read and 0 is
returned; otherwise, there is an attempt to read at least one byte. If no
byte is available because the stream is at end of file, the value
-1 is returned; otherwise, at least one byte is read and
stored into b.
b[off], the next
one into b[off+1], and so on. The number of bytes read is,
at most, equal to len. Let k be the number of bytes
actually read; these bytes will be stored in elements b[off]
through b[off+k-1], leaving elements
b[off+k] through
b[off+len-1] unaffected.
b[0] through b[off] and
elements b[off+len] through b[b.length-1] are
unaffected.
read(b, off, len) method for
class InputStream simply calls the method
read() repeatedly. If the first such call results in an
IOException, that exception is returned from the call to the
read(b, off, len) method. If any
subsequent call to read() results in a
IOException, the exception is caught and treated as if it
were end of file; the bytes read up to that point are stored into
b and the number of bytes read before the exception occurred
is returned. The default implementation of this method blocks until the
requested amount of input data len has been read, end of
file is detected, or an exception is thrown. Subclasses are encouraged to
provide a more efficient implementation of this method.b - the buffer into which the data is read.off - the start offset in array b at which the data is
written.len - the maximum number of bytes to read.-1 if there is no more data because the end of the stream
has been reached.IOException - If the first byte cannot be read for any reason
other than end of file, or if the input stream has been closed, or if
some other I/O error occurs.NullPointerException - If b is null.IndexOutOfBoundsException - If off is negative,
len is negative, or len is greater than
b.length - offInputStream.read()int readNonBlocking(byte[] b)
throws IOException
IOExceptionint readNonBlocking(byte[] b,
int off,
int len)
throws IOException
IOExceptionint readNonBlocking(byte[] b,
long timeout)
throws IOException
IOExceptionint readNonBlocking(byte[] b,
int off,
int len,
long timeout)
throws IOException
IOExceptionlong skip(long n) throws IOException
n bytes of data from this input
stream. The skip method may, for a variety of reasons, end
up skipping over some smaller number of bytes, possibly 0.
This may result from any of a number of conditions; reaching end of file
before n bytes have been skipped is only one possibility.
The actual number of bytes skipped is returned. If n is negative,
the skip method for class InputStream always returns 0,
and no bytes are skipped. Subclasses may handle the negative value
differently.
skip method of this class creates a byte array and then
repeatedly reads into it until n bytes have been read or the
end of the stream has been reached. Subclasses are encouraged to provide
a more efficient implementation of this method. For instance, the
implementation may depend on the ability to seek.n - the number of bytes to be skipped.IOException - if the stream does not support seek, or if some
other I/O error occurs.int available()
throws IOException
InputStream will return
the total number of bytes in the stream, many will not. It is never
correct to use the return value of this method to allocate a buffer
intended to hold all data in this stream.
IOException if this input stream has been closed by invoking the
close() method.
available method for class InputStream always returns
0.
0 when it
reaches the end of the input stream.IOException - if an I/O error occurs.void close()
throws IOException
close method of InputStream does nothing.close in interface AutoCloseableclose in interface CloseableIOException - if an I/O error occurs.void mark(int readlimit)
reset method repositions this stream at the last marked
position so that subsequent reads re-read the same bytes.
readlimit arguments tells this input stream to allow
that many bytes to be read before the mark position gets invalidated.
mark is that, if the method
markSupported returns true, the stream somehow
remembers all the bytes read after the call to mark and
stands ready to supply those same bytes again if and whenever the method
reset is called. However, the stream is not required to
remember any data at all if more than readlimit bytes are
read from the stream before reset is called.
mark method of InputStream does nothing.readlimit - the maximum limit of bytes that can be read before the
mark position becomes invalid.InputStream.reset()void reset()
throws IOException
mark
method was last called on this input stream.
reset is:
markSupported returns true,
then:
mark has not been called since the
stream was created, or the number of bytes read from the stream since
mark was last called is larger than the argument to
mark at that last call, then an IOException
might be thrown.
IOException is not thrown, then the stream
is reset to a state such that all the bytes read since the most recent
call to mark (or since the start of the file, if
mark has not been called) will be resupplied to subsequent
callers of the read method, followed by any bytes that
otherwise would have been the next input data as of the time of the call
to reset. markSupported returns false,
then:
reset may throw an
IOException.
IOException is not thrown, then the stream is
reset to a fixed state that depends on the particular type of the input
stream and how it was created. The bytes that will be supplied to
subsequent callers of the read method depend on the
particular type of the input stream. reset for class InputStream does
nothing except throw an IOException.IOException - if this stream has not been marked or if the mark
has been invalidated.InputStream.mark(int),
IOExceptionboolean markSupported()
mark and
reset methods. Whether or not mark and
reset are supported is an invariant property of a particular
input stream instance. The markSupported method of
InputStream returns false.true if this stream instance supports the mark and
reset methods; false otherwise.InputStream.mark(int),
InputStream.reset()boolean hasMoreBytes()
void noMoreBytes()
Copyright © 2022 vpc open source initiative. All rights reserved.