Class ServletOutputStream

java.lang.Object
java.io.OutputStream
jakarta.servlet.ServletOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public abstract class ServletOutputStream extends OutputStream
Provides an output stream for sending binary data to the client. A ServletOutputStream object is normally retrieved via the ServletResponse.getOutputStream() method.

This is an abstract class that the servlet container implements. Subclasses of this class must implement the java.io.OutputStream.write(int) method.

See Also:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Does nothing, because this is an abstract class.
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract boolean
    Returns true if data can be written without blocking else returns false.
    void
    print(boolean b)
    Writes a boolean value to the client, with no carriage return-line feed (CRLF) character at the end.
    void
    print(char c)
    Writes a character to the client, with no carriage return-line feed (CRLF) at the end.
    void
    print(double d)
    Writes a double value to the client, with no carriage return-line feed (CRLF) at the end.
    void
    print(float f)
    Writes a float value to the client, with no carriage return-line feed (CRLF) at the end.
    void
    print(int i)
    Writes an int to the client, with no carriage return-line feed (CRLF) at the end.
    void
    print(long l)
    Writes a long value to the client, with no carriage return-line feed (CRLF) at the end.
    void
    Writes a String to the client, without a carriage return-line feed (CRLF) character at the end.
    void
    Writes a carriage return-line feed (CRLF) to the client.
    void
    println(boolean b)
    Writes a boolean value to the client, followed by a carriage return-line feed (CRLF).
    void
    println(char c)
    Writes a character to the client, followed by a carriage return-line feed (CRLF).
    void
    println(double d)
    Writes a double value to the client, followed by a carriage return-line feed (CRLF).
    void
    println(float f)
    Writes a float value to the client, followed by a carriage return-line feed (CRLF).
    void
    println(int i)
    Writes an int to the client, followed by a carriage return-line feed (CRLF) character.
    void
    println(long l)
    Writes a long value to the client, followed by a carriage return-line feed (CRLF).
    void
    Writes a String to the client, followed by a carriage return-line feed (CRLF).
    abstract void
    Instructs the ServletOutputStream to invoke the provided WriteListener when it is possible to write

    Methods inherited from class java.io.OutputStream

    close, flush, nullOutputStream, write, write, write

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ServletOutputStream

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

    • print

      public void print(String s) throws IOException
      Writes a String to the client, without a carriage return-line feed (CRLF) character at the end.
      Parameters:
      s - the String to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • print

      public void print(boolean b) throws IOException
      Writes a boolean value to the client, with no carriage return-line feed (CRLF) character at the end.
      Parameters:
      b - the boolean value to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • print

      public void print(char c) throws IOException
      Writes a character to the client, with no carriage return-line feed (CRLF) at the end.
      Parameters:
      c - the character to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • print

      public void print(int i) throws IOException
      Writes an int to the client, with no carriage return-line feed (CRLF) at the end.
      Parameters:
      i - the int to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • print

      public void print(long l) throws IOException
      Writes a long value to the client, with no carriage return-line feed (CRLF) at the end.
      Parameters:
      l - the long value to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • print

      public void print(float f) throws IOException
      Writes a float value to the client, with no carriage return-line feed (CRLF) at the end.
      Parameters:
      f - the float value to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • print

      public void print(double d) throws IOException
      Writes a double value to the client, with no carriage return-line feed (CRLF) at the end.
      Parameters:
      d - the double value to send to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println() throws IOException
      Writes a carriage return-line feed (CRLF) to the client.
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(String s) throws IOException
      Writes a String to the client, followed by a carriage return-line feed (CRLF).
      Parameters:
      s - the String to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(boolean b) throws IOException
      Writes a boolean value to the client, followed by a carriage return-line feed (CRLF).
      Parameters:
      b - the boolean value to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(char c) throws IOException
      Writes a character to the client, followed by a carriage return-line feed (CRLF).
      Parameters:
      c - the character to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(int i) throws IOException
      Writes an int to the client, followed by a carriage return-line feed (CRLF) character.
      Parameters:
      i - the int to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(long l) throws IOException
      Writes a long value to the client, followed by a carriage return-line feed (CRLF).
      Parameters:
      l - the long value to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(float f) throws IOException
      Writes a float value to the client, followed by a carriage return-line feed (CRLF).
      Parameters:
      f - the float value to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • println

      public void println(double d) throws IOException
      Writes a double value to the client, followed by a carriage return-line feed (CRLF).
      Parameters:
      d - the double value to write to the client
      Throws:
      IOException - if an input or output exception occurred
    • isReady

      public abstract boolean isReady()
      Returns true if data can be written without blocking else returns false.

      If this method returns false and a WriteListener has been set with setWriteListener(WriteListener), then container will subsequently invoke WriteListener.onWritePossible() once a write operation becomes possible without blocking. Other than the initial call, WriteListener.onWritePossible() will only be called if and only if this method is called and returns false.

      Returns:
      true if data can be written without blocking, otherwise returns false.
      Since:
      Servlet 3.1
      See Also:
    • setWriteListener

      public abstract void setWriteListener(WriteListener writeListener)
      Instructs the ServletOutputStream to invoke the provided WriteListener when it is possible to write
      Parameters:
      writeListener - the WriteListener that should be notified when it's possible to write
      Throws:
      IllegalStateException - if one of the following conditions is true
      • the associated request is neither upgraded nor the async started
      • setWriteListener is called more than once within the scope of the same request.
      NullPointerException - if writeListener is null
      Since:
      Servlet 3.1