第15章 输入/输出
Java IO包下两种流:
- 输入流
- 输出流
每种流又分为字节流和字符流。
15.1 File类
File类可以操作文件和目录。
15.1.1 访问文件和目录
File类可以使用文件路径字符串来创建File实例。该路径可以为绝对路径或相对路径,系统依据用户工作路径来解析相对路径,属性值由系统属性“user.dir”指定,通长为运行java虚拟机时所在路径。
详情可查看File类API文档。
15.1.2 文件过滤器
- File类list()方法接收参数,用于定制过滤条件。
15.2 理解Java的IO流
Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”。Stream是从起源(source)到接收(sink)的有序数据。
15.2.1 流的分类
- 输入流:只能从中读取数据,而不能向其写入数据。
- 输出流:只能向其写入数据,而不能从中读取数据。
- 字节流:字节流所操作的数据单元为8位字节,InputStream和OutputStream为基类。
- 字符流:操作的数据单元为16位字节,Reader和Writer为基类。
- 节点流:可以从/向特定的IO设备读/写数据为节点流。
- 处理流:对已经存在的流进行包装。
15.2.2 流的概念模型
15.3 字节流和字符流
15.3.1 InputStream和Reader
InputStream和Reader都是抽象类,实际使用时可使用FileInputStream和FileReader。
15.3.1 OutputStream和Writer
OutputStream和Writer都是抽象类,实际使用时可使用FileOutputStream和FileWriter。
15.4 输入/输出流体系
15.4.1 处理流的用法
处理流用来包装节点流,节点流直接与底层IO设备进行交互。
处理流的构造参数为已经存在的流。
15.4.2 输入/输出流体系
查看API(挖坑待填)
15.4.3 转换流
- InputStreamReader:字节输入流转换成字符输入流
- OutputStreamWriter:字节输出流转换为字符输出流