# Class PrintStream

java.lang.Object
java.io.OutputStream
java.io.PrintStream

All Implemented Interfaces:
  `AutoCloseable`

public class PrintStream extends OutputStream
A PrintStream adds functionality to another output stream, namely the ability to print representations of various data values conveniently. Two other features are provided as well. Unlike other output streams, a PrintStream never throws an IOException; instead, exceptional situations merely set an internal flag that can be tested via the checkError method. All characters printed by a PrintStream are converted into bytes using the platform's default character encoding. Since: JDK1.0, CLDC 1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PrintStream(OutputStream out)`
  Create a new print stream.
  `PrintStream(OutputStream out, boolean autoFlush, String charsetName)`
  Create a new print stream that encodes with the named charset, optionally flushing automatically.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `checkError()`
  Flush the stream and check its error state.
  `void`
  `close()`
  Close the stream.
  `void`
  `flush()`
  Flush the stream.
  `void`
  `print(boolean b)`
  Print a boolean value.
  `void`
  `print(char c)`
  Print an array of characters.
  `void`
  `print(double d)`
  Print a double-precision floating point number.
  `void`
  `print(float f)`
  Print a floating point number.
  `void`
  `print(int i)`
  Print an integer.
  `void`
  `print(long l)`
  Print a long integer.
  `void`
  `print(Object obj)`
  Print an object.
  `void`
  `print(String s)`
  Print a string.
  `void`
  `println()`
  Terminate the current line by writing the line separator string.
  `void`
  `println(boolean x)`
  Print a boolean and then terminate the line.
  `void`
  `println(char x)`
  Print an array of characters and then terminate the line.
  `void`
  `println(double x)`
  Print a double and then terminate the line.
  `void`
  `println(float x)`
  Print a float and then terminate the line.
  `void`
  `println(int x)`
  Print an integer and then terminate the line.
  `void`
  `println(long x)`
  Print a long and then terminate the line.
  `void`
  `println(Object x)`
  Print an Object and then terminate the line.
  `void`
  `println(String x)`
  Print a String and then terminate the line.
  `protected void`
  `setError()`
  Set the error state of the stream to true.
  `void`
  `write(byte[] buf, int off, int len)`
  Write len bytes from the specified byte array starting at offset off to this stream.
  `void`
  `write(int b)`
  Write the specified byte to this stream.

  ### Methods inherited from class OutputStream

  `write`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PrintStream

    public PrintStream(OutputStream out)
    Create a new print stream. This stream will not flush automatically. out - The output stream to which values and objects will be printed

  - ### PrintStream

    public PrintStream(OutputStream out, boolean autoFlush, String charsetName) throws UnsupportedEncodingException
    Create a new print stream that encodes with the named charset, optionally flushing automatically.
    Throws:
      `UnsupportedEncodingException`

- ## Method Details

  - ### checkError

    public boolean checkError()
    Flush the stream and check its error state. The internal error state is set to true when the underlying output stream throws an IOException, and when the setError method is invoked.

  - ### close

    public void close()
    Close the stream. This is done by flushing the stream and then closing the underlying output stream.
    Specified by:
      `close` in interface `AutoCloseable`
    Overrides:
      `close` in class `OutputStream`

  - ### flush

    public void flush()
    Flush the stream. This is done by writing any buffered output bytes to the underlying output stream and then flushing that stream.
    Overrides:
      `flush` in class `OutputStream`

  - ### print

    public void print(boolean b)
    Print a boolean value. The string produced by is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(char c)
    Print an array of characters. The characters are converted into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(double d)
    Print a double-precision floating point number. The string produced by is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(float f)
    Print a floating point number. The string produced by is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(int i)
    Print an integer. The string produced by is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(long l)
    Print a long integer. The string produced by is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(Object obj)
    Print an object. The string produced by the method is translated into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### print

    public void print(String s)
    Print a string. If the argument is null then the string "null" is printed. Otherwise, the string's characters are converted into bytes according to the platform's default character encoding, and these bytes are written in exactly the manner of the method.

  - ### println

    public void println()
    Terminate the current line by writing the line separator string. The line separator string is defined by the system property line.separator, and is not necessarily a single newline character ('\n').

  - ### println

    public void println(boolean x)
    Print a boolean and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(char x)
    Print an array of characters and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(double x)
    Print a double and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(float x)
    Print a float and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(int x)
    Print an integer and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(long x)
    Print a long and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(Object x)
    Print an Object and then terminate the line. This method behaves as though it invokes and then .

  - ### println

    public void println(String x)
    Print a String and then terminate the line. This method behaves as though it invokes and then .

  - ### setError

    protected void setError()
    Set the error state of the stream to true.

  - ### write

    public void write(byte[] buf, int off, int len)
    Write len bytes from the specified byte array starting at offset off to this stream. Note that the bytes will be written as given; to write characters that will be translated according to the platform's default character encoding, use the print(char) or println(char) methods.
    Overrides:
      `write` in class `OutputStream`

  - ### write

    public void write(int b)
    Write the specified byte to this stream. Note that the byte is written as given; to write a character that will be translated according to the platform's default character encoding, use the print(char) or println(char) methods.
    Specified by:
      `write` in class `OutputStream`