1.IO操作的目标
什么是IO操作的目标?
输入:
从数据源当中读取数据
输出:
将数据写入到数据目的地当中
有数据进入到程序当中,这个过程就可以被叫做输入
流:即在数据源与程序之间建立的传输通道
2.IO的分类方法
IO的分类:
第一种分法:
1.输入流
2.输出流
第二种分法:
1.字节流:即读取数据时,以字节为基础,每次读取几个字节
2.字符流:即每次读取一个字符
第三种分法:
1.节点流:即正真处理数据的IO流(普通的水管)
2.处理流:即用来在节点流的基础上,对数据进行再加工(普通的水管外套一层处理层)
IO当中的字节流的核心类:
InputStream和OutputStream是所有字节流的父类
InputStream和OutputStream都是抽象类
3.读取文件和写入文件的方法
读取数据的方法:
InputStream:
Int read(byte[] b,int off ,int len);
read()从硬盘的文件当中读取数据,以字节的形式把数据读进来,读取的数据保存在byte[] b这个数组当中
int off:为偏移量,读进来的数据从这个数组的第几位开始放
Int len:读取一次最多读多少数据
返回值是这一次调用read()方法总共读取了多少字节的数据
写入数据的方法:
OutputStream:
void write(byte[] b,int off,int len);
byte[] b:要文件里面写的数据
int off:从数组的第几位开始往文件里面写
Int len:一次一共要往文件里面写多少位数据
使用过程:
注意:在文件读数据流时候需要对FileInputStream的FileNotFoundException进行捕捉抛出,否则编译将不通过(checked Exception),如下图
注意:在此数据流中读取数据字节,需要抛出一个IOException,否则编译将不通过(checked Exception)如下图
读数据示例:
/*****************************************************************/
总结:
1.IO系统的主要目标是为了对数据进行读写操作;
2.数据的流向以Java程序为参照物
3.IO流可以有三种分类方法;
4.read方法和write方法;