今天在开发者头条看到了一篇关于java IO模型的文章,感觉还不错,也激发了我对IO模型做个整理的想法。
说起IO,对于java而言,有IO和NIO(基于jdk1.8)
先简单聊一聊io:
源码在java.io下面;
包括了一些字节流、字符流、文件的读写的方法;
面向流,阻塞的
NIO:
源码在java.nio下面;
三个重要的概念,缓冲区buffer,通道channel,选择器selector
面向缓冲区,不阻塞的
下面对java.io包下的87个类分别介绍,归类一下;
下面是涉及到的异常类(18个),图中用红圈圈住的是java.lang包中的。
字节输入流(12个),图中用红圈圈住的是java.lang包中的。
字节输出流(9个),图中用红圈圈住的是java.lang包中的。
字符输入流(10个),图中用红圈圈住的是java.lang包中的。
字符输出流(9个),图中用红圈圈住的是java.lang包中的。
(11个)
(10个)
(8个)
File:该类主要用于文件和目录的创建、文件的查找和文件的删除等
java.nio下的buffer(81个):
8