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:
初初尝试着拥抱的人,一派新鲜幸福都来不及沉浸,