![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nio
虎哥和你一起学编程
路漫漫其修远兮吾将上下而求索
展开
-
基于Files.walkFileTree来删除文件夹
nio中新提供了Files类可以很方便的操作文件,可以使用walkFileTree来实现之前需要递归才能进行的一些操作,例如文件夹的删除,文件夹的遍历。其中walkFileTree方法通过访问者模式可以很方便的让我们可以对文件进行一个操作。 public class TestFilesWalkFileTree { public static void main(String[] args) throws IOException { Path mydir =...原创 2022-01-21 12:36:08 · 696 阅读 · 0 评论 -
nio 中channel和buffer的基本使用
public class Test { public static void main(String[] args) { try (FileChannel channel = new FileInputStream("test.txt").getChannel()) { ByteBuffer byteBuffer = ByteBuffer.allocate(10); while (true){ .原创 2022-01-20 23:22:01 · 230 阅读 · 0 评论 -
bio/nio/aio的区别
bio:同步阻塞nio:同步非阻塞aio:异步非阻塞 这里面主要是理解同步与阻塞是什么意思 同步/异步指的是应用程序需要阻塞住,通过轮询或事件监听的方式来主动的获取结果。而异步则是操作系统有数据了之后直接调用我们应用程序提供的回调函数来处理。 阻塞与非阻塞指的是我们在读写的时候是否需要等数据准备好了才开始处理下面的过程。...原创 2021-12-02 23:31:24 · 398 阅读 · 0 评论 -
java nio多路复用示例
IO多路复用底层主要依赖于操作系统的epoll功能,通过epoll_create,epoll_ctl,epoll_wait三个函数完成多路复用器的创建,事件注册,时间选择的过程。 下面就是基于Java nio的示例程序。 public class TestNio { public static void main(String[] args) throws IOException { ServerSocketChannel serverSock...原创 2021-12-02 12:10:34 · 887 阅读 · 0 评论