基本概念
I/O就是Input/Output的简写,也就是输入/输出的含义。
I/O流就是指输入和输出数据时像流水一样,所以叫"流"。
分类
按照读写数据的基本单位不同分为:字节流 和 字符流。
其中字节流主要指以字节为单位进行读写的流, 可以读写任意类型的文件。
其中字符流主要指以字符(2个字节)为单位进行读写的流,只能读写文本文件。(用于处理汉字)
按照数据流动的方向不同分为:输入流 和 输出流(站在程序的角度)。
其中输入流主要指从文件中读取数据内容输入到程序中,也就是读文件。
其中输出流主要指将程序中的数据内容输出到文件中,也就是写文件。
FileOutputStream类
主要用于将图像数据之类的原始字节流写入到输出流。
FieInputStream类
主要用于从输入流中读取图像数据之类的原始字节流。
不管怎么读,文件中内容只能读一次(比如用read()方法,读取了一次,那么再次使用read(byte[] bytes)方法读取,只能从第二个字节读起。)
常用方法
read()方法:读取一个字节如果返回值为-1,则表示将文件读完
使用read()方法读整个文件(使用while循环)
read(byte[] b)方法
从输入流中读取最多b.length个字节的数据读入一个字节数组中,返回值为读取字节个数(读满整个数组)
read(byte[],int 字节存放开始位置,int 获取文件字节长度 )方法
使用I/O流完成文件复制
开发中应当使用方法2