旧的I/O类库中有三个类被赋予了产生FileChannel的能力
/*OutPutSome text randomaccessfile*///
?号外:一旦调用read()来向ByteBuffer存储字节,就必须调用缓冲器上的flip(),让它做好让别人读取字节的准备。
?
请注意:如果打算使用缓冲器执行进一步的read()操作,我们也应该必须调用clead()为下次read()做好准备。所以,正常的过程应该是:
?
? ? ? ? ?while(in.read(buffer)!=-1)
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? buffer.flip(); ? ?//准备好写
? ? ? ? ? ? ? ? ? out.write(buffer);
? ? ? ? ? ? ? ? ? buffer.clear(); ? //准备好读
? ? ? ? ? ? ? }
?
?