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 readablesource
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.
- Since:
- 1.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
Pipe.SinkChannel
A channel representing the writable end of aPipe
.static class
Pipe.SourceChannel
A channel representing the readable end of aPipe
.
-
Constructor Summary
Constructors Modifier Constructor and Description protected
Pipe()
Initializes a new instance of this class.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and 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.
-
-
-
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 defaultSelectorProvider
object.- Returns:
- A new pipe
- Throws:
-
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.