Package javax.servlet

Class ServletInputStream

java.lang.Object
java.io.InputStream
javax.servlet.ServletInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public abstract class ServletInputStream extends 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.

Version:
$Version$
Author:
Various
See Also:
  • Constructor Details

    • ServletInputStream

      protected ServletInputStream()
      Does nothing, because this is an abstract class.
  • Method Details

    • readLine

      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 - 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