一、Java IO原理
1、I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。
2、Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。
3、java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。
4、输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中。
二、IO流的分类
按处理数据类型分:字节流、字符流
按数据的流向:输入流、输出流
按流的角色:节点流、处理流
Java的IO流共涉及40多个类,实际上非常规则,都是从如下4个抽象基类派生的。由这四个类派生出来的子类名称都是以其父类名作为子类名后缀。
流的分类图示:
三、流的体系结构
说明:红框内的是四个抽象基类。蓝筐中的需要重点学习。
四、重点说明的几个流结构
五、输入、输出的标准化过程
1、输入过程
① 创建File类的对象,指明要读入数据的文件。(要求此文件一定要存在)
② 创建输入流的对象,并将File类的对象当做参数传入流的构造器中。
③ 操作数据
byte[] buffer或char[] cbuf
④关闭流资源
2、输出过程
① 创建File类的对象,指明要写出数据的文件。(不要求此文件一定要存在)
② 创建输出流的对象,并将File类的对象当做参数传入流的构造器中。
③ 操作数据
write(byte[] buffer\char[] cbuf,0,len);
④关闭流资源