Java Fundamental Classes Reference

Previous Chapter 11
The java.io Package
Next
 

PipedReader

Name

PipedReader

Synopsis

Class Name:

java.io.PipedReader

Superclass:

java.io.Reader

Immediate Subclasses:

None

Interfaces Implemented:

None

Availability:

New as of JDK 1.1

Description

The PipedReader class represents half of a communication pipe; a PipedReader must be connected to a PipedWriter. When the two halves of a communication pipe are connected, data written to the PipedWriter can be read from the PipedReader. The communication pipe formed by a PipedReader and a PipedWriter should be used to communicate between threads. If both ends of a pipe are used by the same thread, the thread can hang.

The PipedReader class is the character-based equivalent of the byte-based PipedInputStream.

Class Summary

public class java.io.PipedReader extends java.io.Reader {
  // Constructors
  public PipedReader();
  public PipedReader(PipedWriter src);
  // Instance Methods
  public void close();
  public void connect(PipedWriter src);
  public int read(char[] cbuf, int off, int len);
}

Constructors

PipedReader

public PipedReader ()

Description

This constructor creates a PipedReader that is not connected to a PipedWriter. The created object must be connected to a PipedWriter before it can be used.

public PipedReader(PipedWriter src) throws IOException

Parameters

src

The PipedWriter to connect.

Throws

IOException

If any kind of I/O error occurs.

Description

This constructor creates a PipedReader that receives data from the given PipedWriter.

Instance Methods

close

public void close() throws IOException

Throws

IOException

If any kind of I/O error occurs.

Overrides

Reader.close()

Description

This method closes the reader and releases the system resources that are associated with it.

connect

public void connect(PipedWriter src) throws IOException

Parameters

src

The PipedWriter to connect.

Throws

IOException

If another PipedWriter is already connected to this PipedReader.

Description

This method connects the given PipedWriter to this PipedReader object. If there is already a connected PipedWriter, an exception is thrown.

read

public int read(char[] cbuf, int off, int len) throws IOException

Parameters

cbuf

An array of characters to be filled.

off

An offset into the array.

len

The number of characters to read.

Returns

The actual number of characters read or -1 if the end of the stream is encountered immediately.

Throws

IOException

If the pipe is broken. In other words, if this PipedReader is closed or if the connected PipedWriter is dead.

InterruptedIOException

While this method is waiting for input, if the interrupted() method of the thread that invoked this method is called.

Overrides

Reader.read(char[], int, int)

Description

This method copies characters from the pipe buffer into the given array cbuf, starting at index off and continuing for len characters. If there is at least one character in the buffer, the method returns as many characters as are in the buffer (up to len). If the buffer is empty, the method blocks until data is written to the connected PipedWriter.

Inherited Methods

Method

Inherited From

Method

Inherited From

clone()

Object

equals(Object)

Object

finalize()

Object

getClass()

Object

hashCode()

Object

mark(int)

Reader

markSupported()

Reader

notify()

Object

notifyAll()

Object

read()

Reader

read(char[])

Reader

reset()

Reader

skip(long)

Reader

toString()

Object

wait()

Object

wait(long)

Object

wait(long, int)

Object

   

See Also

IOException, PipedInputStream, PipedWriter, Reader


Previous Home Next
PipedOutputStream Book Index PipedWriter

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