InputStream.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. The next invocation might be the same thread or another thread. A single read or skip of this many bytes will not block, but may read or skip fewer bytes.

<p> Note that while some implementations of {@code 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.

<p> A subclass' implementation of this method may choose to throw an {@link IOException} if this input stream has been closed by invoking the {@link #close()} method.

<p> The {@code available} method for class {@code InputStream} always returns {@code 0}.

<p> This method should be overridden by subclasses.

@return an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking or {@code 0} when it reaches the end of the input stream. @exception IOException if an I/O error occurs.

class InputStream
int
available
()

Meta