IO(输入输出)
I : Input 输入 O : Out输出
流Stream
在Java中,流用与表示计算机硬盘与内存之间传输数据的通道
将内存中的数据存到硬盘中. 称为写 write , 也称为输出
将硬盘中的数据存入到内存中, 称为 读 read ,也成为输入
流的分类
Java中将流定义为类,以对象的形式是表现流.流有"四大家族",它们是所有流的父类.
字节输入流 InputStram
字节输出流 OutputStram
字符输入流 Reader
字符输出流 Writer
按照方向分类
-
输入流: InputStram Reader
- 将硬盘中的数据读取到内存中
-
输出流: OutputStram Writer
- 将内存中的数据写入到硬盘中
按照类型分类
-
字节流: InputStram OutputStram
- 读写非文本类型文件. 如: 图片.音视频等
-
字符流: Reader Writer
- 读写出纯文本类型文件.如 txt,md文件等
流的四个父类的特点
-
都在java.io包下边,都是抽象类,不能直接创建对象,使用其子类创建对象
-
都定义了close()方法,这个方法用于关闭当前的流对象,释放资源.
-
输出流(OutputStram,Writer)都有flush()方法,用于将流中的数据冲刷到硬盘中(类似于保存的操作),都有write()方法将数据写入到硬盘中
- 在使用输出流对象是,一定要调用flush()或close()方法后,才能怔怔地将数据写入到硬盘中
-
输入流(InputStram Reader)都有read()方法将数据读取到内存中.
-
所有的流中,以Stream结尾都是字节流,数据以字节传输.以Reader或Write结尾的,都是字符流,数据以字符传输
FileInputStram文件字节输入流
按字节读取硬盘中的文件.读取的文件必须存在否则会抛异常
构造方法
常用构造方法 | 说明 |
---|---|
FileInputStram(String pathName) | 根据文件名创建流对象 |