public class PrintStream extends FilterOutputStream implements Appendable, Closeable
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.
 Optionally, a PrintStream can be created so as to flush
 automatically; this means that the flush method is
 automatically invoked after a byte array is written, one of the
 println methods is invoked, or a newline character or byte
 ('\n') is written.
  All characters printed by a PrintStream are converted into
 bytes using the platform's default character encoding.  The PrintWriter
out| Constructor and Description | 
|---|
| PrintStream(File file)Creates a new print stream, without automatic line flushing, with the
 specified file. | 
| PrintStream(File file,
           String csn)Creates a new print stream, without automatic line flushing, with the
 specified file and charset. | 
| PrintStream(OutputStream out)Creates a new print stream. | 
| PrintStream(OutputStream out,
           boolean autoFlush)Creates a new print stream. | 
| PrintStream(OutputStream out,
           boolean autoFlush,
           String encoding)Creates a new print stream. | 
| PrintStream(String fileName)Creates a new print stream, without automatic line flushing, with the
 specified file name. | 
| PrintStream(String fileName,
           String csn)Creates a new print stream, without automatic line flushing, with the
 specified file name and charset. | 
| Modifier and Type | Method and Description | 
|---|---|
| PrintStream | append(char c)Appends the specified character to this output stream. | 
| PrintStream | append(CharSequence csq)Appends the specified character sequence to this output stream. | 
| PrintStream | append(CharSequence csq,
      int start,
      int end)Appends a subsequence of the specified character sequence to this output
 stream. | 
| boolean | checkError()Flushes the stream and checks its error state. | 
| protected void | clearError()Clears the internal error state of this stream. | 
| void | close()Closes the stream. | 
| void | flush()Flushes the stream. | 
| PrintStream | format(Locale l,
      String format,
      Object... args)Writes a formatted string to this output stream using the specified
 format string and arguments. | 
| PrintStream | format(String format,
      Object... args)Writes a formatted string to this output stream using the specified
 format string and arguments. | 
| void | print(boolean b)Prints a boolean value. | 
| void | print(char c)Prints a character. | 
| void | print(char[] s)Prints an array of characters. | 
| void | print(double d)Prints a double-precision floating-point number. | 
| void | print(float f)Prints a floating-point number. | 
| void | print(int i)Prints an integer. | 
| void | print(long l)Prints a long integer. | 
| void | print(Object obj)Prints an object. | 
| void | print(String s)Prints a string. | 
| PrintStream | printf(Locale l,
      String format,
      Object... args)A convenience method to write a formatted string to this output stream
 using the specified format string and arguments. | 
| PrintStream | printf(String format,
      Object... args)A convenience method to write a formatted string to this output stream
 using the specified format string and arguments. | 
| void | println()Terminates the current line by writing the line separator string. | 
| void | println(boolean x)Prints a boolean and then terminate the line. | 
| void | println(char x)Prints a character and then terminate the line. | 
| void | println(char[] x)Prints an array of characters and then terminate the line. | 
| void | println(double x)Prints a double and then terminate the line. | 
| void | println(float x)Prints a float and then terminate the line. | 
| void | println(int x)Prints an integer and then terminate the line. | 
| void | println(long x)Prints a long and then terminate the line. | 
| void | println(Object x)Prints an Object and then terminate the line. | 
| void | println(String x)Prints a String and then terminate the line. | 
| protected void | setError()Sets the error state of the stream to  true. | 
| void | write(byte[] buf,
     int off,
     int len)Writes  lenbytes from the specified byte array starting at
 offsetoffto this stream. | 
| void | write(int b)Writes the specified byte to this stream. | 
writepublic PrintStream(OutputStream out)
out - The output stream to which values and objects will be
                    printedPrintWriter(java.io.OutputStream)public PrintStream(OutputStream out, boolean autoFlush)
out - The output stream to which values and objects will be
                    printedautoFlush - A boolean; if true, the output buffer will be flushed
                    whenever a byte array is written, one of the
                    println methods is invoked, or a newline
                    character or byte ('\n') is writtenPrintWriter(java.io.OutputStream, boolean)public PrintStream(OutputStream out, boolean autoFlush, String encoding) throws UnsupportedEncodingException
out - The output stream to which values and objects will be
                    printedautoFlush - A boolean; if true, the output buffer will be flushed
                    whenever a byte array is written, one of the
                    println methods is invoked, or a newline
                    character or byte ('\n') is writtenencoding - The name of a supported
                    
                    character encodingUnsupportedEncodingException - If the named encoding is not supportedpublic PrintStream(String fileName) throws FileNotFoundException
OutputStreamWriter, which will encode characters using the
 default charset
 for this instance of the Java virtual machine.fileName - The name of the file to use as the destination of this print
         stream.  If the file exists, then it will be truncated to
         zero size; otherwise, a new file will be created.  The output
         will be written to the file and is buffered.FileNotFoundException - If the given file object does not denote an existing, writable
          regular file and a new regular file of that name cannot be
          created, or if some other error occurs while opening or
          creating the fileSecurityException - If a security manager is present and checkWrite(fileName) denies write
          access to the filepublic PrintStream(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, which will encode characters using the provided
 charset.fileName - The name of the file to use as the destination of this print
         stream.  If the file exists, then it will be truncated to
         zero size; otherwise, a new file will be created.  The output
         will be written to the file and is buffered.csn - The name of a supported charsetFileNotFoundException - If the given file object does not denote an existing, writable
          regular file and a new regular file of that name cannot be
          created, or if some other error occurs while opening or
          creating the fileSecurityException - If a security manager is present and checkWrite(fileName) denies write
          access to the fileUnsupportedEncodingException - If the named charset is not supportedpublic PrintStream(File file) throws FileNotFoundException
OutputStreamWriter,
 which will encode characters using the default charset for this
 instance of the Java virtual machine.file - The file to use as the destination of this print stream.  If the
         file exists, then it will be truncated to zero size; otherwise,
         a new file will be created.  The output will be written to the
         file and is buffered.FileNotFoundException - If the given file object does not denote an existing, writable
          regular file and a new regular file of that name cannot be
          created, or if some other error occurs while opening or
          creating the fileSecurityException - If a security manager is present and checkWrite(file.getPath())
          denies write access to the filepublic PrintStream(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, which will encode characters using the provided
 charset.file - The file to use as the destination of this print stream.  If the
         file exists, then it will be truncated to zero size; otherwise,
         a new file will be created.  The output will be written to the
         file and is buffered.csn - The name of a supported charsetFileNotFoundException - If the given file object does not denote an existing, writable
          regular file and a new regular file of that name cannot be
          created, or if some other error occurs while opening or
          creating the fileSecurityException - If a security manager is present and checkWrite(file.getPath())
          denies write access to the fileUnsupportedEncodingException - If the named charset is not supportedpublic void flush()
flush in interface Flushableflush in class FilterOutputStreamOutputStream.flush()public void close()
close in interface Closeableclose in interface AutoCloseableclose in class FilterOutputStreamOutputStream.close()public boolean checkError()
true when the underlying output stream throws an
 IOException other than InterruptedIOException,
 and when the setError method is invoked.  If an operation
 on the underlying output stream throws an
 InterruptedIOException, then the PrintStream
 converts the exception back into an interrupt by doing:
 
     Thread.currentThread().interrupt();
 
 or the equivalent.true if and only if this stream has encountered an
         IOException other than
         InterruptedIOException, or the
         setError method has been invokedprotected void setError()
true.
  This method will cause subsequent invocations of checkError() to return true until clearError() is invoked.
protected void clearError()
 This method will cause subsequent invocations of checkError() to return false until another write
 operation fails and invokes setError().
public void write(int b)
flush method will be
 invoked.
  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.
write in class FilterOutputStreamb - The byte to be writtenprint(char), 
println(char)public void write(byte[] buf,
                  int off,
                  int len)
len bytes from the specified byte array starting at
 offset off to this stream.  If automatic flushing is
 enabled then the flush method will be invoked.
  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.
write in class FilterOutputStreambuf - A byte arrayoff - Offset from which to start taking byteslen - Number of bytes to writeFilterOutputStream.write(int)public void print(boolean b)
String.valueOf(boolean)write(int)b - The boolean to be printedpublic void print(char c)
write(int)c - The char to be printedpublic void print(int i)
String.valueOf(int)write(int)i - The int to be printedInteger.toString(int)public void print(long l)
String.valueOf(long)write(int)l - The long to be printedLong.toString(long)public void print(float f)
String.valueOf(float)write(int)f - The float to be printedFloat.toString(float)public void print(double d)
String.valueOf(double)write(int)d - The double to be printedDouble.toString(double)public void print(char[] s)
write(int)s - The array of chars to be printedNullPointerException - If s is nullpublic void print(String s)
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
 write(int)s - The String to be printedpublic void print(Object obj)
String.valueOf(Object)write(int)obj - The Object to be printedObject.toString()public void println()
line.separator, and is not necessarily a single newline
 character ('\n').public void println(boolean x)
print(boolean)println()x - The boolean to be printedpublic void println(char x)
print(char)println()x - The char to be printed.public void println(int x)
print(int)println()x - The int to be printed.public void println(long x)
print(long)println()x - a The long to be printed.public void println(float x)
print(float)println()x - The float to be printed.public void println(double x)
print(double)println()x - The double to be printed.public void println(char[] x)
print(char[])println()x - an array of chars to print.public void println(String x)
print(String)println()x - The String to be printed.public void println(Object x)
print(String)println()x - The Object to be printed.public PrintStream printf(String format, Object... args)
An invocation of this method of the form out.printf(format, args) behaves in exactly the same way as the invocation
     out.format(format, args) format - A format string as described in Format string syntaxargs - Arguments referenced by the format specifiers in the format
         string.  If there are more arguments than format specifiers, the
         extra arguments are ignored.  The number of arguments is
         variable and may be zero.  The maximum number of arguments is
         limited by the maximum dimension of a Java array as defined by
         The Java™ Virtual Machine Specification.
         The behaviour on a
         null argument depends on the conversion.IllegalFormatException - If a format string contains an illegal syntax, a format
          specifier that is incompatible with the given arguments,
          insufficient arguments given the format string, or other
          illegal conditions.  For specification of all possible
          formatting errors, see the Details section of the
          formatter class specification.NullPointerException - If the format is nullpublic PrintStream printf(Locale l, String format, Object... args)
An invocation of this method of the form out.printf(l, format, args) behaves in exactly the same way as the invocation
     out.format(l, format, args) l - The locale to apply during
         formatting.  If l is null then no localization
         is applied.format - A format string as described in Format string syntaxargs - Arguments referenced by the format specifiers in the format
         string.  If there are more arguments than format specifiers, the
         extra arguments are ignored.  The number of arguments is
         variable and may be zero.  The maximum number of arguments is
         limited by the maximum dimension of a Java array as defined by
         The Java™ Virtual Machine Specification.
         The behaviour on a
         null argument depends on the conversion.IllegalFormatException - If a format string contains an illegal syntax, a format
          specifier that is incompatible with the given arguments,
          insufficient arguments given the format string, or other
          illegal conditions.  For specification of all possible
          formatting errors, see the Details section of the
          formatter class specification.NullPointerException - If the format is nullpublic PrintStream format(String format, Object... args)
 The locale always used is the one returned by Locale.getDefault(), regardless of any
 previous invocations of other formatting methods on this object.
format - A format string as described in Format string syntaxargs - Arguments referenced by the format specifiers in the format
         string.  If there are more arguments than format specifiers, the
         extra arguments are ignored.  The number of arguments is
         variable and may be zero.  The maximum number of arguments is
         limited by the maximum dimension of a Java array as defined by
         The Java™ Virtual Machine Specification.
         The behaviour on a
         null argument depends on the conversion.IllegalFormatException - If a format string contains an illegal syntax, a format
          specifier that is incompatible with the given arguments,
          insufficient arguments given the format string, or other
          illegal conditions.  For specification of all possible
          formatting errors, see the Details section of the
          formatter class specification.NullPointerException - If the format is nullpublic PrintStream format(Locale l, String format, Object... args)
l - The locale to apply during
         formatting.  If l is null then no localization
         is applied.format - A format string as described in Format string syntaxargs - Arguments referenced by the format specifiers in the format
         string.  If there are more arguments than format specifiers, the
         extra arguments are ignored.  The number of arguments is
         variable and may be zero.  The maximum number of arguments is
         limited by the maximum dimension of a Java array as defined by
         The Java™ Virtual Machine Specification.
         The behaviour on a
         null argument depends on the conversion.IllegalFormatException - If a format string contains an illegal syntax, a format
          specifier that is incompatible with the given arguments,
          insufficient arguments given the format string, or other
          illegal conditions.  For specification of all possible
          formatting errors, see the Details section of the
          formatter class specification.NullPointerException - If the format is nullpublic PrintStream append(CharSequence csq)
An invocation of this method of the form out.append(csq) behaves in exactly the same way as the invocation
     out.print(csq.toString()) 
 Depending on the specification of toString for the character sequence csq, the entire sequence may not be appended. For instance, invoking then toString method of a character buffer will return a subsequence whose content depends upon the buffer's position and limit.
append in interface Appendablecsq - The character sequence to append.  If csq is
         null, then the four characters "null" are
         appended to this output stream.public PrintStream append(CharSequence csq, int start, int end)
An invocation of this method of the form out.append(csq, start, end) when csq is not null, behaves in exactly the same way as the invocation
     out.print(csq.subSequence(start, end).toString()) append in interface Appendablecsq - The character sequence from which a subsequence will be
         appended.  If csq is null, then characters
         will be appended as if csq contained the four
         characters "null".start - The index of the first character in the subsequenceend - The index of the character following the last character in the
         subsequenceIndexOutOfBoundsException - If start or end are negative, start
          is greater than end, or end is greater than
          csq.length()public PrintStream append(char c)
An invocation of this method of the form out.append(c) behaves in exactly the same way as the invocation
     out.print(c) append in interface Appendablec - The 16-bit character to append Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.