I/O
一、流
流是一组有序的数据序列,根据操作类型,可以分为输入流和输出流(Input/Output)。
二、流的分类
1.字节流
//基于文件的输入流
FileInputStream fis = new FileInputStream(f);
//基于文件的输出流,并以字节流的形式向文件写入数据
FileOutputStream fos = new FileOutputStream(f);
fos.write(data);
fos.close();
2.字符流
//基于文件的字符流
FileReader fr = new FilerReader(f);
//基于文件的字符流,并以字符流的形式把数据写入到文件中
FileWriter fr = new FileWirter(f);
fr.write(f);
3.缓存流
缓存是一种性能优化,缓存流为I/O增加了内存区,减少访问磁盘次数。
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWirter(f);
PrintWriter pw = new PrintWirter(fw);
立即把数据写入到硬盘
4.数据流
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
5.对象流
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fis);
FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream oos = new ObjectOutputStream(fos);
# 总结 当我们用完IO流对象的时候,一定要及时关闭,如果不关闭流对象,流对象会一直停留在内存中,会造成内存的不必要的浪费。