java-nio
javanio可以替换传统的io,对于java 的nio理解,可以联想到io。但是他们也有不一样的地方。 1.传统io和nio区别: 2. Buffer 中的重要概念: Ø 容量 (capacity) : 表示 Buffer 最大数据容量,缓冲区容量不能为负,并且创建后不能更改。 缓冲区其实就是数据组,因为是数组,所以数据容量一旦固定就不能修改了。 Ø 限制 (limit) : 第一个不应该读取或写入的数据的索引,即位于 limit 后的数据不可读写。缓冲区的限制不能为负,并且不能大于其容量。 Ø 位置 (position) : 下一个要读取或写入的数据的索引。缓冲区的位置不能为负,并且不能大于其限制 Ø 标记 (mark) 与重置 (reset) : 标记是一个索引,通过 Buffer 中的 mark() 方法指定 Buffer 中一个特定的 position ,之后可以通过调用 reset() 方法恢复到这个 position 。 标记、 位置、 限制、 容量遵守以下不变式: 0 <= mark <= position <= limit <= capacity 注意: mark 初始化为 -1 ,表示没有标记过 3.来段代码理解一下 package com.nio.nio; import java.nio.ByteBuffer; import org.junit.Test; /