public abstract class Pipe extends Object
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 exactlyAthe 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.
Modifier and Type | Class | Description |
---|---|---|
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 . |
Modifier | Constructor | Description |
---|---|---|
protected |
Pipe() |
Initializes a new instance of this class.
|
Modifier and Type | Method | Description |
---|---|---|
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.
|
public abstract Pipe.SourceChannel source()
public abstract Pipe.SinkChannel sink()
public static Pipe open() throws IOException
The new pipe is created by invoking the openPipe
method of the
system-wide default SelectorProvider
object.
IOException
- If an I/O error occurs 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.