JAVA IO:
Interface:
closeable:是一个可以关闭的数据源或目标。
close():关闭
Serializable:实现可序列化,序列化是将一个对象变成一组二进制的数据,通过输入输出流传输。(writeObject和readObject)
1.serialVersionUID是用来检验在经过序列化和反序列化的过程之后,最终得到的结果是否与初始值一致。
2.当父类不可序列化时,子类实现可序列化,那么子类一定要有可访问无参的构造。此时父类的属性不可序列化,而子类的可以序列化
3.transient修饰符,当有些属性不需要实现可序列化时,使用他修饰。
class:
File:文件和目录路径的抽象表示形式。
File类的实例是不可变的,也就是说,一旦创建,File对象表示的抽象路径名将永远不变。
separator:根据系统产生对应的分隔符。
OutputStream:此抽象类是表示输出字节流的所有类的超类,输出流接受输出字节并将这些字节发送到某个接收器中。
InputStream:此抽象类是表示字节输入流的所有类的超类。子类的应用程序必须总是提供返回下一个输入字节的方法。
输入流:
1.InputStream
2.InputStreamReader
3.FileInputStream
4.BufferedInputStream
5.BufferedReader
输出流:
1.OutputStream
2.OutputStreamReader
3.FileOutputStream
4.BufferedOutputStream
5.BufferedWriter
转换流:
OutputStreamWriter 是字符流通向字节流的桥梁,可以将字节流转化为字符流
字符流与字节流:
字节流没有缓冲区,是直接输出的,而字符流是输出到缓冲区的的。因此在输出时,字节流不调用colse()方法,信息已经输出了,而字符流只是在调用colse()方法关闭缓冲区的时候,信息才输出。要想字符流在未关闭时输出信息,则需要手动调用flush()方法。