对文件的操作有很多种方式,例如java的输入、输入流,ByteBuffer等,但是ByteBuffer对文件操作时,会产生指索引越界。ByteBuffer的缺点如下:
- ByteBuffer长度固定,一旦分配空间,它的容量不能动态扩展和收缩,如果待放入的对象大于ByteBuffer的容量是,会发生指针越界;
- ByteBuffer只有一个标识位置的指针,读的时候需要手动条用flip()和rewind(),需小心谨慎调
基于netty的ByteBuf对其进行改进,另外fileChannel对文件的操作,也为码农带来了福音:
详细参考如下地址:
https://blog.csdn.net/qq_21125183/article/details/88701448