Java NI/O 笔记
不断更新学习笔记,欢迎直接留言交流,如转发请说明并附上链接,感谢!
也是最近复习,才翻出这个笔记了,直接正文,慢慢整理丰富使用心得。
所谓NI/O:New I/O,当然不是这么简单~~它是区别于BI/O的none blocking I/O;
以文件的读写为例,过去我们所习惯于buffer = new xxBuffer(new xxStream(new File(“path”)));
直接通过示例来说明,我们可以新的方式将File或其他实体对象序列化为byte后,使用缓存经过NI/O的 channel(通道)写入或替换文件处理:
1、通过通道写入文件:
首先调用newByteChannel()方法以获取与文件链接的Path对象,然后打开文件,将返回的结果转换成Filechannel类型。
接下来分配字节缓存,并将数据写入到缓存中,在将数据写入到文件之前,在缓存上调用rewind()方法,将当前位置设置为0(每次写入文件之前,必须重置)
然后,对通道调用write()方法,传递缓存。
...
// 看到try的特别写法了吧:),惊喜在最后
try (FileChanel fChan = (FileChannel) Files.newByteChannel(
Paths