AutoCloseable
, Closeable
AsynchronousByteChannel
, AsynchronousChannel
, ByteChannel
, GatheringByteChannel
, InterruptibleChannel
, MulticastChannel
, NetworkChannel
, ReadableByteChannel
, ScatteringByteChannel
, SeekableByteChannel
, WritableByteChannel
AbstractInterruptibleChannel
, AbstractSelectableChannel
, AsynchronousFileChannel
, AsynchronousServerSocketChannel
, AsynchronousSocketChannel
, DatagramChannel
, FileChannel
, Pipe.SinkChannel
, Pipe.SourceChannel
, SctpChannel
, SctpMultiChannel
, SctpServerChannel
, SelectableChannel
, ServerSocketChannel
, SocketChannel
public interface Channel extends Closeable
A channel represents an open connection to an entity such as a hardware device, a file, a network socket, or a program component that is capable of performing one or more distinct I/O operations, for example reading or writing.
A channel is either open or closed. A channel is open upon creation, and once closed it remains closed. Once a channel is closed, any attempt to invoke an I/O operation upon it will cause a ClosedChannelException
to be thrown. Whether or not a channel is open may be tested by invoking its isOpen
method.
Channels are, in general, intended to be safe for multithreaded access as described in the specifications of the interfaces and classes that extend and implement this interface.
boolean isOpen()
true
if, and only if, this channel is openvoid close() throws IOException
After a channel is closed, any further attempt to invoke I/O operations upon it will cause a ClosedChannelException
to be thrown.
If this channel is already closed then invoking this method has no effect.
This method may be invoked at any time. If some other thread has already invoked it, however, then another invocation will block until the first invocation is complete, after which it will return without effect.
close
in interface AutoCloseable
close
in interface Closeable
IOException
- If an I/O error occurs
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/channels/Channel.html