【JAVA】【NIO】3、Java NIO Channel

Java NIO和流类似但有些差异:
·通道可以读写,而流只支持一种方式,读或者写
·通道可以异步读写
·通道读写,都是和Buffer交互

通道的实现

以下是Java NIO中最重要的通道的实现:
·FileChannel
·DatagramChannel
·SocketChannel
·ServerSocketChannel

FileChannel从文件读数据或写进文件
DatagramChannel通过UDP在网络上读写数据
SocketChannel通过TCP在网络上读写数据
ServerSocketChannel可以监听TCP网络连接,像web server一样。对于每一个连接都将建立一个SocketChannel。

基本的通道实例

使用FileChannel将数据读到Buffer中
这里写图片描述

实例代码使用截图,是希望大家能够自己动手实践一下, 不要复制!

注意方法buffer.flip()的调用。首先将数据读进buffer中,然后flip,然后读出来。

下一节将详细介绍Buffer:【JAVA】【NIO】4、Java NIO Buffer

展开阅读全文

没有更多推荐了,返回首页