系列文章目录
文章目录
- 系列文章目录
- 一、 IO是什么?
- 二、IO的分类
- 三、IO流有四大抽象的基类/超类/父类
- 总结
一、 IO是什么?
I:input,输入
O:output:输出
所以IO即是输入和输出
注意点
(1)如果对于File对象来说,输入和输出操作只能针对文件,不能针对目录。
(2)IO操作不仅仅是针对文件,它可以从网络中输入和输出…
(3)输入和 输出, 参照物是当前程序
服务器端发送数据给客户端:对于服务器来说是输出,对于客户端来说是输入
所以输入输出逻辑上一定要选对,否则就无法实现
二、IO的分类
IO的分类
(1)方向:输入流和输出流
(2)操作数据的单位:字节流和字符流
字节流:以字节为单位byte
字符流:以字符为单位char
字符流只能用于读/写纯文本数据, 纯文本数据:内容全部是字符
纯文本文件:.txt,.html,.xml,.properties等是纯文本文件,.doc,.xls,.ppt等都不是(哪怕它里面没有图片它也不是纯文本文件)
字节流适用于任何类型的文件,
字节流既然什么都能实现,那为什么还要字符流呢?
如果是纯文本文件用字符流快。
(3)功能角色不同
节点流和处理流
节点流:和某个节点关联,例如:文件流。。。
处理流:在节点流的基础上,加其他的处理功能的,加装饰功能的,例如:缓冲流,序列化与反序列化等
三、IO流有四大抽象的基类/超类/父类
(1)InputStream:字节输入流
(2)OutputStream:字节输出流
(3)Reader:字符输入流
(4)Writer:字符输出流
例如:文件IO流
(1)FileInputStream:文件字节输入流
(2)FileOutputStream:文件字节输出流
(3)FileReader:文件字符输入流
(4)FileWriter:文件字符输出流
例如:缓冲IO流
(1)BufferedInputStream:字节缓冲输入流
(2)BufferedOutputStream:字节缓冲输出流
(3)BufferedReader:字符缓冲输入流
(4)BufferedWriter:字符缓冲输出流
总结
初学者可能会觉得有点绕,而且这里也基本上文字上的说明等理论知识,后面文章会具体以代码说明