目录
流的选择:
按照流的方向分类:
输入流:数据的流向是从数据源到程序
输出流:数据的流向是从程序到目标文件
按照流的处理数据单位分类:
字节流:处理数据的单位是字节,可以处理所有文件
字符流:处理数据的单位是字符,只能处理文本文件
按照流的功能分类:
节点流:直接与数据源绑定的流就是节点流,如FileInputStream
处理流:不是直接与数据源绑定的流就是处理流,处理流的作用通过对其他流的处理来提高流的效率
IO的四大基本抽象类以及他们的实现类:
InputStream:
FileInputStream(节点流)
ObjectInputStream(处理流)
BufferedInputStream(处理流)
DataInputStream(处理流)
OutputStream:
FileOutputStream(节点流)
ObjectOutputStream(处理流)
DataOutputStream(处理流)
BufferedOutputStream(处理流)
Reader:
FileReader(节点流)
InputStreamReader(处理流)
BufferedReader(处理流)
Writer:
FileWriter(节点流)
OutputStreamWriter(处理流)
BufferedWriter(处理流)
序列化与反序列化:
把Java对象转换为字节序列,就称为序列化
将字节序列恢复为Java对象就称为反序列化
要点:只有实现了Serializable接口的对象才可以被序列化