java核心类库之-------I/O操作体系图
IO流的分类,站在不同的角度,分类是不一样的:
1>根据流向划分:输入流和输出流
2>根据数据单位划分:字节流和字符流
3>根据功能划分:节点流和包装流
IO四大基流(字节输入流,字节输出流,字符输入流,字符输出流)
四大基流都是抽象类,其他都是继承与这四大基类的,不能创建四大基流的对象,只能创建其子类对象,无论是什么流都有close方法,用来关闭资源使用,如果不关闭资源文件会一直被占用,不能进行删除,修改能其他操作。
字节流和字符流的选择
字节流体系
字符流体系
创建IO流的模板流程
文件字节输入输出流
FileInputStream:文件字节输入流
FileOutputStream:文件字节输出流
FileOutputStream文件字节输出流
new FileOutputStream(File file,boolean append): 构造方法,第一个参数为路径,指的是源文件的路径,第二个参数为是否追加,指多次向同一个文件写入时是否追加,true 追加,false不追加。
writer(int b):把一个字节写入到文件中
writer(byte[] b):把byte数组中的字节全部写入到文件中
writer(byte[] b,int off,int len):把byte数组中的从off索引处的len个字节
FileInputStream 文件字节输入流
使用字节流完成文件的拷贝
文件字符输入输出流
FileReader
FileWriter
FileReader文件字符输入流
FileWriter文件字符输出流
flush操作
节点流和包装流
包装流流程图
BufferedInputStream 和BufferedOutputStream 字节输入输出缓冲流
序列化:
数据流DataInputStream,DataOutputstream
随机文件RandomAccessFile
管道流
NIO
总结: