java.nio.channels

## Class Pipe

- java.lang.Object
- - java.nio.channels.Pipe

    public abstract class Pipe
    extends Object

A pair of channels that implements a unidirectional pipe.

A pipe consists of a pair of channels: A writable ``sink`` channel and a readable ``source`` channel. Once some bytes are written to the sink channel they can be read from source channel in exactly the order in which they were written.

Whether or not a thread writing bytes to a pipe will block until another thread reads those bytes, or some previously-written bytes, from the pipe is system-dependent and therefore unspecified. Many pipe implementations will buffer up to a certain number of bytes between the sink and source channels, but such buffering should not be assumed.

Since:
  1.4

### Nested Class Summary

Nested Classes
`static class` `Pipe.SinkChannel` A channel representing the writable end of a `Pipe`.
`static class` `Pipe.SourceChannel` A channel representing the readable end of a `Pipe`.

### Constructor Summary

Constructors
`protected` `Pipe()` Initializes a new instance of this class.

### Method Summary

Methods
`static Pipe` `open()` Opens a pipe.
`abstract Pipe.SinkChannel` `sink()` Returns this pipe's sink channel.
`abstract Pipe.SourceChannel` `source()` Returns this pipe's source channel.

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### Pipe

    protected Pipe()

Initializes a new instance of this class.

### Method Detail

#### source

    public abstract Pipe.SourceChannel source()

Returns this pipe's source channel.

Returns:
  This pipe's source channel

#### sink

    public abstract Pipe.SinkChannel sink()

Returns this pipe's sink channel.

Returns:
  This pipe's sink channel

#### open

    public static Pipe open()
                     throws IOException

Opens a pipe.

The new pipe is created by invoking the `openPipe` method of the system-wide default `SelectorProvider` object.

Returns:
  A new pipe
Throws:
  `IOException` - If an I/O error occurs

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.