1.1
IO即 Input/output ,输入和输出
数据输入到计算机内存的过程即输入,
反之输出到外部存储(比如数据库,文件,
远程主机)的过程即输出。lo流在Java中分为输入流和输出流,
而根据数据的处理方式又分为字节流和字符流。
1.2
InputStream(字节输入流,父类),FileInputStream(字节输入流对象),
会搭配BufferedInputStream(字节缓冲输入流)使用。
DataInputStream用于读取指定类型数据,不能单独使用,必须结合FileInputStream,
1.3
ObjectInputstream用于从输入流中读取Java对象(反序列化),
objectoutputstream 用于将对象写入到输出流(序列化).
1.4
OutputStream(字节输出流,父类),FileOutputStream(字节输出流对象),
会搭配BufferedOutputStream(字节缓冲输出流)使用。
DataOutputStream用于写入指定类型数据,不能单独使用,必须结合FileOutputStream。
1.5字符流:
解决容易出现乱码问题。
字符流默认采用的是unicode编码,我们可以通过构造方法自定义编码
常用字符编码所占字节数?utf8 :英文占1字节,中文占3字节,_unicode:任何字符都占2个字节,
gbk:英文占1字节,中文占2字节。
1.6
Reader(字符输入流),InputStreamReader是字节流转换为字符流的桥梁,
其子类FileReader是基于该基础上的封装,
1.7
Writer(字符输出流),outputStreamWriter是字符流转换为字节流的桥梁,
其子类FileWriter是基于该基础上的封装,可以直接将字符写入到文件。
1.8
BufferedInputstream(字节缓冲输入流),BufferedOutputStream(字节缓冲输出流)
BufferedReader(字符缓冲输入流)和Bufferedwriter(字符缓冲输出流)
1.9随机访问流:RandonAccessFile