疯狂Java讲义笔记-第15章 输入/输出

第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:字节输出流转换为字符输出流

你可能感兴趣的:(疯狂Java讲义笔记)