Java Fundamental Classes Reference

Previous Chapter 11
The java.io Package
Next
 

PrintWriter

Name

PrintWriter

Synopsis

Class Name:

java.io.PrintWriter

Superclass:

java.io.Writer

Immediate Subclasses:

None

Interfaces Implemented:

None

Availability:

New as of JDK 1.1

Description

The PrintWriter class provides support for writing string representations of primitive data types and objects to an underlying output stream. PrintWriter uses the system's default encoding scheme to convert characters to bytes. PrintWriter also uses the system's own specific line separator, rather than the newline character, for separating lines of text. This line separator is equivalent to the value returned by:

System.getProperty("line.separator")

A PrintWriter object can be created using a Writer object or an OutputStream object as its underlying stream. When a PrintWriter is created using an OutputStream, the constructor creates the intermediate OutputStreamWriter that handles the conversion of characters to bytes using the default character encoding.

All of the methods of PrintWriter that write multiple times to the underlying output stream handle synchronization internally, so that PrintWriter objects are thread-safe.

A PrintWriter object is often used to write to a BufferedWriter object. Note that you can specify that the PrintWriter should be flushed every time a println() method is called by using a constructor that takes a boolean argument.

PrintWriter objects are often used to report errors. For this reason, the methods of this class do not throw exceptions. Instead, the methods catch any exceptions thrown by any downstream OutputStream or Writer objects and set an internal flag, so that the object can remember that a problem occurred. You can query the internal flag by calling the checkError() method.

Class Summary

public class java.io.PrintWriter extends java.io.Writer {
  // Constructors
  public PrintWriter(OutputStream out);
  public PrintWriter(OutputStream out, boolean autoFlush);
  public PrintWriter(Writer out);
  public PrintWriter(Writer out, boolean autoFlush);
  // Public Instance Methods
  public boolean checkError();
  public void close();
  public void flush();
  public void print(boolean b);
  public void print(char c);
  public void print(char[] s);
  public void print(double d);
  public void print(float f);
  public void print(int i);
  public void print(long l);
  public void print(Object obj);
  public void print(String s);
  public void println();
  public void println(boolean b);
  public void println(char c);
  public void println(char[] s);
  public void println(double d);
  public void println(float f);
  public void println(int i);
  public void println(long l);
  public void println(Object obj);
  public void println(String s);
  public void write(int c); 
  public void write(char[] buf); 
  public void write(char[] buf, int off, int len);
  public void write(String s);
  public void write(String s, int off, int len);

  // Protected Instance Methods
  protected void setError();
}

Constructors

PrintWriter

public PrintWriter(OutputStream out)

Parameters

out

The output stream to use.

Description

This constructor creates a PrintWriter object that sends output to the given OutputStream. The constructor creates the intermediate OutputStreamWriter that converts characters to bytes using the default character encoding.

public PrintWriter(OutputStream out, boolean autoFlush)

Parameters

out

The output stream to use.

autoFlush

A boolean value that indicates whether or not the print stream is flushed every time a println() method is called.

Description

This constructor creates a PrintWriter object that sends output to the given OutputStream. The constructor creates the intermediate OutputStreamWriter that converts characters to bytes using the default character encoding. If autoFlush is true, every time a println() method is called, the PrintWriter object calls its flush() method. This behavior is different from that of a PrintStream object, which calls its flush() method each time a line separator or newline character is written.

public PrintWriter(Writer out)

Parameters

out

The output stream to use.

Description

This constructor creates a PrintWriter object that sends output to the given Writer.

public PrintStream(Writer out, boolean autoFlush)

Parameters

out

The output stream to use.

autoFlush

A boolean value that indicates whether or not the print stream is flushed every time a println() method is called.

Description

This constructor creates a PrintWriter object that sends output to the given Writer. If autoFlush is true, every time a println() method is called, the PrintWriter object calls its flush() method. Note that this behavior is different from that of a PrintStream object, which calls its flush() method every time a newline character or line separator is written.

Public Instance Methods

checkError

public boolean checkError()

Returns

true if any error has occurred; false otherwise.

Description

This method flushes any buffered output and returns true if an error occurs. Once the error flag for a PrintWriter object is set, it's never cleared.

close

public void close()

Overrides

Writer.close()

Description

This method closes this print stream and releases any resources associated with the object. The method does this by calling the close() method of the underlying output stream and catching any exceptions that are thrown.

flush

public void flush()

Overrides

Writer.flush()

Description

This method flushes this print stream, forcing any bytes that may be buffered to be written to the underlying output stream. The method does this by calling the flush() method of the underlying output stream and catching any exceptions that are thrown.

print

public void print(boolean b)

Parameters

b

The boolean value to print.

Description

This method writes "true" to the underlying output stream if b is true; otherwise it writes "false".

public void print(char c)

Parameters

c

The char value to print.

Description

This method writes the given character to the underlying output stream.

public void print(char[] s)

Parameters

s

The char array to print.

Description

This method writes the characters in the given array to the underlying output stream.

public void print(double d)

Parameters

d

The double value to print.

Description

This method writes a string representation of the given double value to the underlying output stream. The string representation is identical to the one returned by calling Double.toString(d).

public void print(float f)

Parameters

f

The float value to print.

Description

This method writes a string representation of the given float value to the underlying output stream. The string representation is identical to the one returned by calling Float.toString(f).

public void print(int i)

Parameters

i

The int value to print.

Description

This method writes a string representation of the given int value to the underlying output stream. The string representation is identical to the one returned by calling Integer.toString(i).

public void print(long l)

Parameters

l

The long value to print.

Description

This method writes a string representation of the given long value to the underlying output stream. The string representation is identical to the one returned by calling Long.toString(l).

public void print(Object obj)

Parameters

obj

The Object to print.

Description

This method writes the string representation of the given Object to the underlying output stream. The string representation is that returned by calling the toString() method of Object.

public void print(String s)

Parameters

s

The String to print.

Description

This method writes the given String to the underlying output stream. If String is null, the method writes "null".

println

public void println()

Description

This method writes a line separator to the underlying output stream.

public void println(boolean b)

Parameters

b

The boolean value to print.

Description

This method writes "true" to the underlying output stream if b is true, otherwise it writes "false". In either case, the string is followed by a line separator.

public void println(char c)

Parameters

c

The char value to print.

Description

This method writes the given character, followed by a line separator, to the underlying output stream.

public void println(char[] s)

Parameters

s

The char array to print.

Description

This method writes the characters in the given array, followed by a line separator, to the underlying output stream.

public void println(double d)

Parameters

d

The double value to print.

Description

This method writes a string representation of the given double value, followed by a line separator, to the underlying output stream. The string representation is identical to the one returned by calling Double.toString(d).

public void println(float f)

Parameters

f

The float value to print.

Description

This method writes a string representation of the given float value, followed by a line separator, to the underlying output stream. The string representation is identical to the one returned by calling Float.toString(f).

public void println(int i)

Parameters

i

The int value to print.

Description

This method writes a string representation of the given int value, followed by a line separator, to the underlying output stream. The string representation is identical to the one returned by calling Integer.toString(i).

public void println(long l)

Parameters

l

The long value to print.

Description

This method writes a string representation of the given long value, followed by a line separator, to the underlying output stream. The string representation is identical to the one returned by calling Long.toString(l).

public void println(Object obj)

Parameters

obj

The Object to print.

Description

This method writes the string representation of the given Object, followed by a line separator, to the underlying output stream. The string representation is that returned by calling the toString() method of Object.

public void println(String s)

Parameters

s

The String to print.

Description

This method writes the given String, followed by a line separator, to the underlying output stream. If String is null, the method writes "null" followed by a line separator.

write

public void write(int c)

Parameters

c

The value to write to the stream.

Overrides

Writer.write(int)

Description

This method writes the character specified by the lowest two bytes of the given integer c to the underlying stream. The method does this by calling the write() method of the underlying output stream and catching any exceptions that are thrown. If necessary, the method blocks until the character is written.

public void write(char[] buf)

Parameters

buf

An array of characters to write to the stream.

Overrides

Writer.write(char[])

Description

This method writes the given array of characters to the underlying output stream. The method does this by calling write(buf, 0, buf.length) for the underlying output stream and catching any exceptions that are thrown. If necessary, the method blocks until the characters are written.

public void write(char[] buf, int off, int len)

Parameters

buf

An array of characters to write to the stream.

off

An offset into the array.

len

The number of characters to write.

Overrides

Writer.write(char[], int, int)

Description

This method writes len characters from the given array, starting off elements from the beginning of the array, to the underlying output stream. The method does this by calling write(buf, off, len) for the underlying output stream and catching any exceptions that are thrown. If necessary, the method blocks until the characters are written.

public void write(String s)

Parameters

s

A String to write to the stream.

Overrides

Writer.write(String)

Description

This method writes the given String to the underlying output stream. The method does this by calling write(s, 0, s.length) for the underlying output stream and catching any exceptions that are thrown. If necessary, the method blocks until the String is written.

public void write(String s, int off, int len)

Parameters

s

A String to write to the stream.

off

An offset into the string.

len

The number of characters to write.

Overrides

Writer.write(String, int, int)

Description

This method writes len characters from the given String, starting off elements from the beginning of the string, to the underlying output stream. The method does this by calling write(s, off, len) for the underlying output stream and catching any exceptions that are thrown. If necessary, the method blocks until the characters of the String are written.

Protected Instance Methods

setError

protected void setError()

Description

This method sets the error state of the PrintWriter object to true. Any subsequent calls to getError() will return true.

Inherited Methods

Method

Inherited From

Method

Inherited From

clone()

Object

equals(Object)

Object

finalize()

Object

getClass()

Object

hashCode()

Object

notify()

Object

notifyAll()

Object

toString()

Object

wait()

Object

wait(long)

Object

wait(long, int)

Object

   

See Also

Double, Float, Integer, Long, OutputStream, OutputStreamWriter, Writer


Previous Home Next
PrintStream Book Index PushbackInputStream

Java in a Nutshell Java Language Reference Java AWT Java Fundamental Classes Exploring Java