File类
- File类对文件或目录进行了封装,提供对文件或目录的操作方法,可以方便编程时使用。
IO流分类
IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式,Java用于操作流的类都在IO包中
-
IO流相对于JVM,根据传输方向划分
- 输入流
- 输出流
-
IO流根据流的传输数据类型
- 字节流(按字节传输)
- 字符流(按字符传输)
-
IO流体系结构,均基于四个顶层的抽象类
- 对于字节流:
- InputStream:表示所有字节输入流的父类。
- OutputStream:表示所有字节输出流的父类。
- 对于字符流:
- Reader:表示所有字符输入流的父类。
- Writer:表示所有字符输出流的父类。
- 对于字节流:
-
字节流体系结构(InputStream和OutputStream)
可以用于文本(较少),图片,音频,视频等操作- FileInputStream和FileOutputStream:节点流,可操作数据源文件
- ByteArrayInputStream和ByteArrayOutputStream:节点流,内存
- BufferedInputStream和BufferedOutputStream:包装流,实现缓冲
- DataInputStream和DataOutputStream:包装流,操作基本数据类型和String
- ObjectInputStream和ObjectOutputStream:包装流,操作基本数据类型和对象。实现序列化和反序列化。
- 序列化:将内存中的对象保存到文件系统中
- 反序列化:保存在文件系统中的对象读取到内存中
- PrintStream:打印流,节点流,包装流,自动刷新,方便打印输出println方法。
如何使用IO流
分析使用字节流还是字符流
图片、音频、视频等使用字节流
字符、文本等使用字符流