这两天看了看IO类,简单总结一下。
1. InputStream\OutputStream 输入\输出[color=red]字节流[/color]
a. FileInputStream\FileOutputStream
顾名思义,就是用于从文件中读取或往文件中写入字节流,提供FileInputStream(File file) 构造方法。
b. BufferedInputStream\BufferedOutputStream
从FilterInputStream\FilterOutputStream过滤流继承而来,提供带缓冲的过滤流。注意:需要提供已经存在的节点流来构造。
c. DataInputStream\DataOutputStream
从FilterInputStream\FilterOutputStream过滤流继承而来,提供读写Java基本数据类型的功能。注意:也需要提供已经存在的节点流来构造。
d. PipedInputStream\PipedOutputStream
管道流,直接从InputStream\OutputStream继承而来,用于线程间的通信。一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入,要使管道流有用,必须同时构造管道输入流和管道输出流。
e. ObjectInputStream\ObjectOutputStream
用于对象序列化。
2. Reader和Writer 输入\输出[color=red]字符流[/color]
a. InputStreamReader\OutputStreamWriter
读取\写入字符流,需要提供已经存在的字节流对象来构造。
b. BufferedReader\BufferedWriter
提供带缓冲的功能。
3. Serializable 序列化
性能: a.只能保存非静态成员变量
b.如果一个对象的成员变量是一个对象,那么也保存这个对象的数据成员
c.对于不可序列化对象,可以标记为transient.
主要用途: a.网络传输
b.数据库持久
c.把对象保存为文件形式,以便以后还原
1. InputStream\OutputStream 输入\输出[color=red]字节流[/color]
a. FileInputStream\FileOutputStream
顾名思义,就是用于从文件中读取或往文件中写入字节流,提供FileInputStream(File file) 构造方法。
b. BufferedInputStream\BufferedOutputStream
从FilterInputStream\FilterOutputStream过滤流继承而来,提供带缓冲的过滤流。注意:需要提供已经存在的节点流来构造。
c. DataInputStream\DataOutputStream
从FilterInputStream\FilterOutputStream过滤流继承而来,提供读写Java基本数据类型的功能。注意:也需要提供已经存在的节点流来构造。
d. PipedInputStream\PipedOutputStream
管道流,直接从InputStream\OutputStream继承而来,用于线程间的通信。一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入,要使管道流有用,必须同时构造管道输入流和管道输出流。
e. ObjectInputStream\ObjectOutputStream
用于对象序列化。
2. Reader和Writer 输入\输出[color=red]字符流[/color]
a. InputStreamReader\OutputStreamWriter
读取\写入字符流,需要提供已经存在的字节流对象来构造。
b. BufferedReader\BufferedWriter
提供带缓冲的功能。
3. Serializable 序列化
性能: a.只能保存非静态成员变量
b.如果一个对象的成员变量是一个对象,那么也保存这个对象的数据成员
c.对于不可序列化对象,可以标记为transient.
主要用途: a.网络传输
b.数据库持久
c.把对象保存为文件形式,以便以后还原