Top Description Constructors Methods
jakarta.servlet

public abstract Class ServletInputStream

extends InputStream
Class Inheritance
Known Direct Subclasses
org.apache.catalina.connector.CoyoteInputStream, org.apache.coyote.http11.upgrade.UpgradeServletInputStream
Imports
java.io.IOException, .InputStream

Provides an input stream for reading binary data from a client request, including an efficient readLine method for reading data one line at a time. With some protocols, such as HTTP POST and PUT, a ServletInputStream object can be used to read data sent from the client.

A ServletInputStream object is normally retrieved via the ServletRequest#getInputStream method.

This is an abstract class that a servlet container implements. Subclasses of this class must implement the java.io.InputStream.read() method.

See Also
ServletRequest

Constructor Summary

AccessConstructor and Description
protected
ServletInputStream()

Does nothing, because this is an abstract class.

Method Summary

Modifier and TypeMethod and Description
public abstract boolean

Returns:

true if all the data has been read from the stream, else false
isFinished
()

Has the end of this InputStream been reached?

public abstract boolean

Returns:

true if data can be read without blocking, else false
isReady
()

Can data be read from this InputStream without blocking?

public int

Returns:

an integer specifying the actual number of bytes read, or -1 if the end of the stream is reached
readLine
(byte[]
an array of bytes into which data is read
b
,
int
an integer specifying the character at which this method begins reading
off
,
int
an integer specifying the maximum number of bytes to read
len
)

Reads the input stream, one line at a time.

public abstract void
setReadListener(ReadListener
The non-blocking IO read listener
listener
)

Sets the ReadListener for this ServletInputStream and thereby switches to non-blocking IO.

Inherited from java.io.InputStream:
availableclosemarkmarkSupportednullInputStreamreadreadreadreadAllBytesreadNBytesreadNBytesresetskipskipNBytestransferTo

Constructor Detail

ServletInputStreamback to summary
protected ServletInputStream()

Does nothing, because this is an abstract class.

Method Detail

isFinishedback to summary
public abstract boolean isFinished()

Has the end of this InputStream been reached?

Returns:boolean

true if all the data has been read from the stream, else false

Since
Servlet 3.1
isReadyback to summary
public abstract boolean isReady()

Can data be read from this InputStream without blocking? Returns If this method is called and returns false, the container will invoke ReadListener#onDataAvailable() when data is available.

Returns:boolean

true if data can be read without blocking, else false

Since
Servlet 3.1
readLineback to summary
public int readLine(byte[] b, int off, int len) throws IOException

Reads the input stream, one line at a time. Starting at an offset, reads bytes into an array, until it reads a certain number of bytes or reaches a newline character, which it reads into the array as well.

This method returns -1 if it reaches the end of the input stream before reading the maximum number of bytes.

Parameters
b:byte[]

an array of bytes into which data is read

off:int

an integer specifying the character at which this method begins reading

len:int

an integer specifying the maximum number of bytes to read

Returns:int

an integer specifying the actual number of bytes read, or -1 if the end of the stream is reached

Exceptions
IOException:
if an input or output exception has occurred
setReadListenerback to summary
public abstract void setReadListener(ReadListener listener)

Sets the ReadListener for this ServletInputStream and thereby switches to non-blocking IO. It is only valid to switch to non-blocking IO within async processing or HTTP upgrade processing.

Parameters
listener:ReadListener

The non-blocking IO read listener

Exceptions
IllegalStateException:
If this method is called if neither async nor HTTP upgrade is in progress or if the ReadListener has already been set
NullPointerException:
If listener is null
Since
Servlet 3.1