IO流:输入输出流(Input,Output)
在做项目时,除了自定义的一些数据外,有时需要从“外界”引入数据,或者将数据导出到“外界”。这时我们需要IO操作。
ps:外界:指的可能是键盘,显示器,硬盘,或者另外一个程序。
输入:又叫读入操作,数据从“外界”流向程序。
输出:又叫写出操作,数据从程序流向“外界”。
流:就是数据序列,一经创建成功,就会打开一个通道。所以使用完应该进行关闭操作。
IO流的分类:
(1) 按照流向分类:
输入流
输出流
(2)按照处理的数据单位分类:
字节流
字符流
(3)按照功能分类:
节点流:直接连接两个设备的流类型。
处理流:对节点六再次封装和处理的流类型。
字节流:
抽象父类:
InputSteam/OutputSteam
文件字节流:
FileInputStream/FileOutputStream
输入流:
(1)构造器:
FileInputSteam(File file):创建一个指定路径的File对象的文件输入流对象。
FileInputStream(String name):创建一个指定路径的字符串的文件输入流对象。
(2)常用方法:
int read():读取该流中的一个字节数据,即八位二进制,存储到一个int数据的低八位上,如果返回-1,读至文件末尾。
long skip(long n):跳过流中的n个字节。
int read(byte[] b):读取字节存入byte数组中,最多能读b.length个字节,返回的是实际读取的字节数。
int available():查看输入流中剩余的字节数量。
输出流:
(1)构造器:
FileOutputSteam(File file):创建一个指定路径的File对象的文件输出流对象。
FileOutputSteam(File file,boolean append):创建一个指定路径的File对象的文件输出流对象,append表示在文件末尾追加。
FileOutputSteam(String name):创建一个指定路径的字符串的文件输入流对象。
FileOutputSteam(String name,boolean append):创建一个指定路径的字符串的文件输入流对象,append表示在文件末尾追加。
ps:如果指定路径下的文件名不存在,会自动创建。如果父路径不存在,则会报异常FileNotFoundException。
(2)常用方法:
void write(int b):写出参数b中的一个字节,int类型的低八位。
void write(byte[] b):将字节数组b中的字节按顺序写出。
void write(byte[] b,int off,int len):将字节数组b中的字节按顺序写出,从下标off开始,写len个。