Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/nio/channels/Channel#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/nio/channels/Channel#inhmethods)

# Channel


`
public


interface
Channel
`


`


implements

https://developer.android.com/reference/java/io/Closeable


`

|---|
| java.nio.channels.Channel |

|---|
| Known indirect subclasses [AbstractInterruptibleChannel](https://developer.android.com/reference/java/nio/channels/spi/AbstractInterruptibleChannel), [AbstractSelectableChannel](https://developer.android.com/reference/java/nio/channels/spi/AbstractSelectableChannel), [AsynchronousByteChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousByteChannel), [AsynchronousChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousChannel), [AsynchronousFileChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousFileChannel), [AsynchronousServerSocketChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousServerSocketChannel), [AsynchronousSocketChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousSocketChannel), [ByteChannel](https://developer.android.com/reference/java/nio/channels/ByteChannel), [Channel](https://developer.android.com/reference/android/se/omapi/Channel), [DatagramChannel](https://developer.android.com/reference/java/nio/channels/DatagramChannel), [FileChannel](https://developer.android.com/reference/java/nio/channels/FileChannel), [GatheringByteChannel](https://developer.android.com/reference/java/nio/channels/GatheringByteChannel), [InterruptibleChannel](https://developer.android.com/reference/java/nio/channels/InterruptibleChannel), [MulticastChannel](https://developer.android.com/reference/java/nio/channels/MulticastChannel), [NetworkChannel](https://developer.android.com/reference/java/nio/channels/NetworkChannel), and 10 others. |---|---| | [AbstractInterruptibleChannel](https://developer.android.com/reference/java/nio/channels/spi/AbstractInterruptibleChannel) | Base implementation class for interruptible channels. | | [AbstractSelectableChannel](https://developer.android.com/reference/java/nio/channels/spi/AbstractSelectableChannel) | Base implementation class for selectable channels. | | [AsynchronousByteChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousByteChannel) | An asynchronous channel that can read and write bytes. | | [AsynchronousChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousChannel) | A channel that supports asynchronous I/O operations. | | [AsynchronousFileChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousFileChannel) | An asynchronous channel for reading, writing, and manipulating a file. | | [AsynchronousServerSocketChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousServerSocketChannel) | An asynchronous channel for stream-oriented listening sockets. | | [AsynchronousSocketChannel](https://developer.android.com/reference/java/nio/channels/AsynchronousSocketChannel) | An asynchronous channel for stream-oriented connecting sockets. | | [ByteChannel](https://developer.android.com/reference/java/nio/channels/ByteChannel) | A channel that can read and write bytes. | | [Channel](https://developer.android.com/reference/android/se/omapi/Channel) | Instances of this class represent an ISO/IEC 7816-4 channel opened to a Secure Element. | | [DatagramChannel](https://developer.android.com/reference/java/nio/channels/DatagramChannel) | A selectable channel for datagram-oriented sockets. | | [FileChannel](https://developer.android.com/reference/java/nio/channels/FileChannel) | A channel for reading, writing, mapping, and manipulating a file. | | [GatheringByteChannel](https://developer.android.com/reference/java/nio/channels/GatheringByteChannel) | A channel that can write bytes from a sequence of buffers. | | [InterruptibleChannel](https://developer.android.com/reference/java/nio/channels/InterruptibleChannel) | A channel that can be asynchronously closed and interrupted. | | [MulticastChannel](https://developer.android.com/reference/java/nio/channels/MulticastChannel) | A network channel that supports Internet Protocol (IP) multicasting. | | [NetworkChannel](https://developer.android.com/reference/java/nio/channels/NetworkChannel) | A channel to a network socket. | | [Pipe.SinkChannel](https://developer.android.com/reference/java/nio/channels/Pipe.SinkChannel) | A channel representing the writable end of a `https://developer.android.com/reference/java/nio/channels/Pipe`. | | [Pipe.SourceChannel](https://developer.android.com/reference/java/nio/channels/Pipe.SourceChannel) | A channel representing the readable end of a `https://developer.android.com/reference/java/nio/channels/Pipe`. | | [ReadableByteChannel](https://developer.android.com/reference/java/nio/channels/ReadableByteChannel) | A channel that can read bytes. | | [ScatteringByteChannel](https://developer.android.com/reference/java/nio/channels/ScatteringByteChannel) | A channel that can read bytes into a sequence of buffers. | | [SeekableByteChannel](https://developer.android.com/reference/java/nio/channels/SeekableByteChannel) | A byte channel that maintains a current *position* and allows the position to be changed. | | [SelectableChannel](https://developer.android.com/reference/java/nio/channels/SelectableChannel) | A channel that can be multiplexed via a `https://developer.android.com/reference/java/nio/channels/Selector`. | | [SensorDirectChannel](https://developer.android.com/reference/android/hardware/SensorDirectChannel) | Class representing a sensor direct channel. | | [ServerSocketChannel](https://developer.android.com/reference/java/nio/channels/ServerSocketChannel) | A selectable channel for stream-oriented listening sockets. | | [SocketChannel](https://developer.android.com/reference/java/nio/channels/SocketChannel) | A selectable channel for stream-oriented connecting sockets. | | [WritableByteChannel](https://developer.android.com/reference/java/nio/channels/WritableByteChannel) | A channel that can write bytes. | |

<br />

*** ** * ** ***

A nexus for I/O operations.

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 `https://developer.android.com/reference/java/nio/channels/ClosedChannelException`
to be thrown. Whether or not a channel is open may be tested by invoking
its `https://developer.android.com/reference/java/nio/channels/Channel#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.

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/java/nio/channels/Channel#close()() ` Closes this channel. |
| ` abstract boolean` | ` https://developer.android.com/reference/java/nio/channels/Channel#isOpen()() ` Tells whether or not this channel is open. |

| ### Inherited methods |
|---|---|
| From interface ` https://developer.android.com/reference/java/io/Closeable ` |---|---| | ` abstract void` | ` https://developer.android.com/reference/java/io/Closeable#close()() ` Closes this stream and releases any system resources associated with it. | ||
| From interface ` https://developer.android.com/reference/java/lang/AutoCloseable ` |---|---| | ` abstract void` | ` https://developer.android.com/reference/java/lang/AutoCloseable#close()() ` Closes this resource, relinquishing any underlying resources. | ||

## Public methods

### close

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void close ()
```

Closes this channel.

After a channel is closed, any further attempt to invoke I/O
operations upon it will cause a `https://developer.android.com/reference/java/nio/channels/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.

<br />

<br />

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | If an I/O error occurs |

### isOpen

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract boolean isOpen ()
```

Tells whether or not this channel is open.

<br />

| Returns ||
|---|---|
| `boolean` | `true` if, and only if, this channel is open <br /> |