表示到實體(如硬件設備、文件、網絡套接字或者可以執行壹個或多個諸如讀取或寫入之類的不同 I/O 操作的程序組件)的開放連接。正如在 Channel 接口中所指定的,通道可以處於打開或關閉狀態,並且它們既是可異步關閉的,又是可中斷的。
多個其他接口擴展了 Channel 接口,這些接口都指定了新的 I/O 操作。
ReadableByteChannel 接口指定了 read 方法,可將字節從通道讀取到緩沖區;類似地,WritableByteChannel 接口指定了 write 方法,可將字節從緩沖區寫入通道。ByteChannel 接口為可讀取和寫入字節的常見通道統壹了這兩個接口。
ScatteringByteChannel 和 GatheringByteChannel 接口分別擴展了 ReadableByteChannel 和 WritableByteChannel 接口,添加的 read 和 write 方法采用的是緩沖區序列,而不只是單個緩沖區。
Channels 實用工具類定義了各種靜態方法,這些方法支持 java io 包的流類和此包通道類的互操作。可根據 InputStream 或 OutputStream 構造合適的通道,反之可根據通道構造 InputStream 或 OutputStream。可構造 Reader 來使用給定的字符集對來自給定可讀取字節通道的字節進行解碼,反之可構造 Writer 來使用給定的字符集將字符編碼到字節中,並將該字節寫入給定的可寫入字節通道。