IO与流的概念:
IO:I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。
流:流是用来读写数据的。当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。从流中取得数据的操作称为提取操作(输出),而向流中添加数据的操作称为插入操作(输入)。
iol流分类:
1、节点流:FileInputStream、FileOutputStream、FileReader、FileWriter
2、缓冲流:BufferedInputStream、FileOutputStream、BufferedReader、BufferedWriter
3、转换流:InputStreamReader、OutputStreamWriter,这种流的作用是将字节流转为字符流,提高IO流的效率。FileReader继承了InputStreamReader,当使用FileReader时,实际上在使用InputStreamReader按照字符的方式从磁盘读入数据到内存。
4、标准输入输出流:System.in、System.out
5、打印流:
6、数据流:PrintReader、PrintWriter
7、对象流:DataInputStream、DataOutputStream
概述:
虽然字节流又称为万能流,但是碰到字符方面的问题就不是很方便,所有了字节流的衍生。
文件的复制,其实质上就是利用流对文件的输入、输出。
利用流的不同,可以有多中复制文件的方式,但是字符流,不能操作图片视频类的文件,否则会导致相应的文件,结构混乱,无法使用。