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:
原文:http://blog.csdn.net/simonchi/article/details/44279483