Chap06: 输入/输出流

来源:互联网 发布:java中unicode是什么 编辑:程序博客网 时间:2024/04/24 13:23

l       流是按照一定顺序排列的数据的集合. 输入流; 指从数据源读数据到程序, 输出流: 从程序输出数据到目的流. 数据源->程序叫做读操作, 反之叫做写操作.

l       流分为两种: 字节流和字符流. 字节流的两个基类是inputstreamoutputstream. 字符流的两个基类是readerwriter.

l       Inputstream类的常用子类: bufferedinputstream, 该类对象被创建时,就长生了一个内部缓冲数组,因此可以根据需要从连接的输入数据流中一次性读入多个字节的数据到内部缓冲数组中,提高读取效率. Fileinputstream类主要用于文件的输入,

l       从键盘中输入的字符串结尾都会自动加上回车和换行/n/r.

l       outputstrem类的常用子类: BufferedOouputstream类对象被创建时,就长生了一个内部数组,可以从连接的输出数据流中一次性写入内部缓冲数组中写多个字节.提高写出效率. Fileoutputstream类主要用于文件的输出.

l       Reader作为字符输入流,是一个抽象类.类常用子类bufferedreader是缓冲字符的输入流. 当它的对象被创建时,就产生一个内部缓冲数组, 这样就可以根据需要从连接的输入数据流中一次性读入多个字符的数据到内部缓冲数组中,提高读取效率, inputstreamreader是将字节输入流转换为字符输入流的转换器.

l       Writer类作为字符输出流,也是一个抽象类,常用抽象类: printwriter(屏幕字符输出流)

l       Filereaderfilewriter: 用于文件的输入/输出类可以分为两大类: 用于字节文件的fileinputstreamfileoutputstream. 用于字符文件的filereaderfilewriter.

l       对象流: 有时候需要将对象生命周期的某一阶段保存下来,当需要的时候,在将保存的对象状态恢复,对象流就可以实现这样的功能. 对象流通常不止一个,为了保证保存和恢复的对象不会出错,必须保证这些对象都是序列化的对象. 序列化的对象时指嫩构按照顺序操作对象流中的对象,一个类如果实现了serializable接口,它的对象就是序列化对象.

l       Serializable接口是个空的接口,没有任何方法.

l       Objectinputstream它主要用于对象的恢复. Objectoutputstream主要用于对象的保存. 进行对象保存时只能保存对象的非静态成员变量,且不能为transient类型的.

l       File.可以提供对文件的操作,比如文件的路径,大小,绝对路径,是否只读等操作.

l       图像,声音等不能用字符文件读写,只能用二进制文件(字节文件流).

l       Randomaccessfile(随机存取文件).前面将到的文件都是按顺序读写的,Randomaccessfile则支持随机读取. 它继承自object,实现了datainputdataoutput接口,既可以作为输入流,也可以作为输出流. 它定义了文件当前位置指针. 文件的存取就是从当前位置指针开始的.

java中流的继承关系和C++中的流的继承关系的比较.

java:

c++:

 
原创粉丝点击