IO流的概述:用来处理设备之间数据传输问题的。常见的应用:文件上传、下载、复制。
IO:输入/输出(input/output);
流:是一种抽象概念,对数据传输的总称。即设备间数据传输称为流,流的本质就是数据传输。
IO流的分类:不懂用哪种类型的流时,就使用字节流。可理解为字节流是万能的,基本的数据类型都能读写。
字节流读写数据:
字节流写数据:
1、用输出流超类的实现类创建字节输出流对象;
该过程做了三件事:1、调用系统功能创建了文件;2、创建了字节输出流对象;3、让字节输出流对象指向创建好的文件。
2、调用如write方法进行写入数据;
3、关闭创建的输出流对象并释放与此输出流关联的任何系统资源。
字节流写数据的常用方法:
字节流写数据实现换号和追加:
字节流写数据加异常处理:通过try...catch方式,由于要释放资源必须要执行的,所以要把它放在finally关键字中。
字节流读数据:
1、用输入流超类的实现类创建字节输出流对象;
2、调用如read方法进行读取数据;
3、关闭输入流对象并释放与此输入流关联的任何系统资源。
复制文件(文本、图片、视频等):其原理其实就是从一个文件中读取文件然后写入到另一个文件中。
字节缓冲流(为了提高读写效率):通过这种方式可以先向底层输出流写入字节,然后一次性写入文件中,减少了原来每个字节写入到文件都要调用底层系统。尤其读写视频,通过字节缓冲流一次读写一个字节数组是最快的,而字节流一次读取一个字节是最慢的。所以通常用缓冲流读写数据。