IO流
1:定义
I/O流专门用于软件开发层面的理解,把数据从一个存储介质写出(output)或者读取(input)到另外一个存储介质的过程表示为I/O流的模型
2:流的分类
1) 输出流与输入流:
2)字节流与字符流:
3)字节输入流抽象基类:Inputstream
字节输出流抽象基类:OutputStream
字符输入流抽象基类:Reader
字符输出流抽象基类:Writer
字节输出流抽象基类:OutputStream
字符输入流抽象基类:Reader
字符输出流抽象基类:Writer
都是抽象类,不可直接使用
3:文件字节输入输出流Fileinputstream、Fileooutputstream
fileinputstream方法:
Fileooutputstream方法
4:文件字符输入输出流FILereader、filewriter
方法与文件字节流类似
5:包装
*字节缓冲流buffered_stream :为输入/输出字节流提供缓冲功能。
*字符缓冲流bufferedreader、bufferedwriter :为输入/输出字符流提供缓冲功能。
*字符缓冲流bufferedreader、bufferedwriter :为输入/输出字符流提供缓冲功能。
数据全部在缓冲区:
如果缓冲区的内容满了,那就会自动刷到文件中
借助一个方法来完成刷新操作,flush
缓冲流新增方法:readline();
*数据流 data_stream :字节操作,数据流允许应用程序以适当方式将数据以Java基本数据类型写入和读出文件。
*对象流 object_stream :对象输出流(ObjectOutputStream):writeObjct(Object obj)方法可以对参数指定的obj对象进行序列化成字节,并把得到的字节写到输出流关联的终端
对象输入流(ObjectInputStream):readObject()方法从一个终端(可以是文件或者网络URI)读取一个字节序列,再对当前字节序列进行反序列化为一个对象,并将当前对象返回
对象流需要序列化