一、IO流的概述:
● IO流用来处理设备之间的数据传输
-----上传文件和下载文件
● Java对数据的操作是通过流的方式
● Java用于操作流的对象都在IO包中
二、IO流的分类:
---- 流向
输入流 读取数据
输出流 写出数据
---- 数据类型
字节流
字节输入流 读取数据 InputStream
字节输出流 写出数据 OutputStream
字符流
字符输入流 读取数据 Reader
字符输出流 写出数据 Writer
● 注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
如:InputStream的子类FileInputStream。
OutputStream的子类FileOutputStream。
如:Reader的子类FileReader。
Writer的子类FileWriter。
三、字节缓冲流:
字节缓冲输出流
BufferedOutputStream
字节缓冲输入流
BufferedInputStream
四、字符缓冲流:
BufferedWriter:字符缓冲输出流
BufferedReader:字符缓冲输入流
1、字符缓冲流特殊功能:复制文本文件
BufferedWriter : void newLine()
BufferedReader : String readLine()
五、转换流(把字节流转换为字符流):
● OutputStreamWriter 字符输出流
public OutputStreamWriter(OutputStream out)
public OutputStreamWriter(OutputStream out,String charsetName):按指定的编码格式进行转换
● InputStreamReader 字符输入流
public InputStreamReader(InputStream in)
public InputStreamReader(InputStream in,String charsetName):按指定的编码格式进行转换
● 转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化我们的书写,转换流提供了对应的子类。
FileWriter
FileReader
六、随机访问流RandomAccessFile:
● RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。
● 支持对随机访问文件的读取和写入。
七、序列化流:
● 序列化流 : ObjectOutputStream
● 反序列化流: ObjectInputStream
(1)、对象序列化是将对象状态转换为可保持或传输的过程。一般的格式是与平台无关的二进制流,可以将这种二进制流持久保存在磁盘上,
也可以通过网络将这种二进制流传输到另一个网络结点。
(2)、对象反序列化,是指把这种二进制流数据还原成对象。
网友评论