![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java NIO
「已注销」
这个作者很懒,什么都没留下…
展开
-
01. Java NIO概述
原文地址:http://tutorials.jenkov.com/java-nio/index.htmlJava NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,...原创 2014-10-21 23:51:36 · 96 阅读 · 0 评论 -
02. Java NIO Channel
Java NIO的通道(Channel)类似流,但又有些不同:1. 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。2. 通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: Channel的实现 这些是Java ...原创 2014-10-31 22:30:13 · 92 阅读 · 0 评论 -
03. Java NIO Buffer
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。NIO Buffer要点:1. Buffer的基本用法2. Buffer的capacity,position和limit3. Buf...原创 2014-10-31 23:42:52 · 75 阅读 · 0 评论 -
04. Java NIO Scatter/Gather
Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel中读取或者写入到Channel的操作。 分散(scatter): 从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。聚集(gather): 写入Channe...原创 2014-11-01 00:16:15 · 114 阅读 · 0 评论 -
05. Java NIO 通道之间的数据传输
在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中(这个方法在JDK文档中的解释为将字节从给定的可读取字节通道传输到此通道的文件中)。下面是一个简单的例子: Rand...原创 2014-11-01 07:52:00 · 137 阅读 · 0 评论