JAVA IO原理
- I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理数据传输,如读/写文件,网络通讯
- Java程序中,对于数据的输入/输出操作以"流(stream)"的方式进行。
- java.io包下提供了各种"流"类和接口,用以获取不同的种类的数据,通过方法输入或输出数据
- 输入input:读取外部数据(磁盘 光盘等存储设备的数据)到程序(内存)中
- 输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中
流的分类
- 按操作数据单位不同分为:字节流(8 bit),字符流(按字符)
- 按数据流的流向不同的:输入流 输出流
- 按流的角色不同分为:节点流,处理流\包装流
抽象基类 | 字节流 | 字符流 |
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
- Java的 io流共涉及40多个类,实际上非常规则,都是从如上4个抽象基类派生的。
- 由四个类派生出来的子类名称都是以其父类名作为子类名后缀。
Reader也是一个抽象类!
小王带大家看看源码~
我们可以发现Reader也是一个抽象类 因此不能实例化 要实例化对应子类的对象才能进行操作~
writer也是一个抽象类~