个人感悟:
1、流是具有在端与端之间传输数据能力的一类类
2、根据传输数据种类的不同可以分为字节流和字符流,根据传输方向的不同可以分为输入流和输出流,上图
3、转换流可以实现字节流到字符流的转换
//字节输出流转为字符输出流
Write out = new OutputStreamWrite(new FileOutputStream(file));
//字节输入流转为字符输入流
Read in = new InputStreamReader(new FileInputStream(fiel));
没有字符流到字节流的转换流,因为其就是char[]转为byte,使用String.getBytes()就可以做到
4、File类与io操作息息相关
5、RandomAccessFile类
该对象并不是流体系中的一员,其封装了字节流,同时还封装了一个缓冲区(字符数组),通过内部的指针来操作字符数组中的数据。
该对象特点:
1、该对象只能操作文件,所以构造函数接收两种类型的参数:a.字符串文件路径;b.File对象。
2、该对象既可以对文件进行读操作,也能进行写操作,在进行对象实例化时可指定操作模式(r,rw)
参考博文:Java IO流详尽解析