1,将数据写入缓冲区
2,反转读写模式,调用buffer.flip()
3,从缓冲区读取数据
4,清除缓冲区,调用buffer.clear()或buffer.compact()
public static void main(String[] args) throws Exception {
//1,创建FileChannel
RandomAccessFile randomAccessFile = new RandomAccessFile("d:\\test\\1.txt", "rw");//rw:读写模式
FileChannel fileChannel = randomAccessFile.getChannel();
//2,创建Buffer
ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
//3,读取数据到Buffer
int read = fileChannel.read(byteBuffer);
while (read != -1) {
System.out.println("读取" + read);
//4,反转读写模式
byteBuffer.flip();
//5,判断是否有剩余内容
while (byteBuffer.hasRemaining()) {
//System.out.println(byteBuffer.get());
System.out.println((char) byteBuffer.get());
}
//6,清除缓冲区
byteBuffer.clear();
read = fileChannel.read(byteBuffer);
}
randomAccessFile.close();
System.out.println("结束");
}