Package jakarta.servlet
Class ServletInputStream
java.lang.Object
java.io.InputStream
jakarta.servlet.ServletInputStream
- All Implemented Interfaces:
- Closeable,- AutoCloseable
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:
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedDoes nothing, because this is an abstract class.
- 
Method SummaryModifier and TypeMethodDescriptionabstract booleanHas the end of this InputStream been reached?abstract booleanisReady()Can data be read from this InputStream without blocking?intreadLine(byte[] b, int off, int len) Reads the input stream, one line at a time.abstract voidsetReadListener(ReadListener listener) Sets theReadListenerfor thisServletInputStreamand thereby switches to non-blocking IO.Methods inherited from class java.io.InputStreamavailable, close, mark, markSupported, nullInputStream, read, read, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
- 
Constructor Details- 
ServletInputStreamprotected ServletInputStream()Does nothing, because this is an abstract class.
 
- 
- 
Method Details- 
readLineReads 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- an array of bytes into which data is read
- off- an integer specifying the character at which this method begins reading
- len- an integer specifying the maximum number of bytes to read
- Returns:
- an integer specifying the actual number of bytes read, or -1 if the end of the stream is reached
- Throws:
- IOException- if an input or output exception has occurred
 
- 
isFinishedpublic abstract boolean isFinished()Has the end of this InputStream been reached?- Returns:
- trueif all the data has been read from the stream, else- false
- Since:
- Servlet 3.1
 
- 
isReadypublic abstract boolean isReady()Can data be read from this InputStream without blocking? Returns If this method is called and returns false, the container will invokeReadListener.onDataAvailable()when data is available.- Returns:
- trueif data can be read without blocking, else- false
- Since:
- Servlet 3.1
 
- 
setReadListenerSets theReadListenerfor thisServletInputStreamand 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- The non-blocking IO read listener
- Throws:
- IllegalStateException- If this method is called if neither async nor HTTP upgrade is in progress or if the- ReadListenerhas already been set
- NullPointerException- If listener is null
- Since:
- Servlet 3.1
 
 
-