具体思路:打开一个文件,把文件以字节读到buffer中,再把buffer进行一次flip,就可以把buffer写入到一个文件中了。如果没有clear方法会产生死循环,一直把buffer读到文件中。
不写clear方法分析:第一次read之后position等于limit,read等于buffer字节数,flip之后,position为0,limit不变,把buffer读进文件中,position等于limit。再次循环,因为position等于limit,所以读取数量为0,所以read等于0,循环不跳出,flip之后,position为0,再次把buffer读进文件。read一直为0,循环不退出
package com.wave.NioTest;
import java.io.FileInputStream;