15.0 疯狂java讲义 第4版 第15章 前言
本章要点
- 使用
File
类访问本地文件系统 - 使用文件过滤器
- 理解
IO
流的模型和处理方式 - 使用
IO
流执行输入、输出操作 - 使用转换流将字节流转换为字符流
- 推回流的功能和用法
- 重定向标准输入、输出
- 访问其他进程的输入、输出2
RandomAccessFile
的功能和用法- 对象序列化机制和作用
- 通过实现
Serializable
接口实现序列化 - 实现定制的序列化
- 通过实现
Externalizable
接口实现序列化 Java
新IO
的概念和作用- 使用
Buffer
和Channel
完成输入、输出 Charset
的功能和用法FireLock
的功能和用法NIO.2
的文件IO
和文件系统- 通过
NIO.2
监控文件变化 - 通过
NIO.2
访问、修改文件属性
输入输出有什么用
使用输入机制
- 程序可以读取外部数据(包括来自磁盘、光盘等存储设备的数据)、
- 程序可以读取用户输入的数据;
使用输出机制
- 程序可以记录运行状态,可以将数据输出到磁盘、光盘等存储设备中。
字节流 字符流
Java
的IO
通过java.io
包下的类和接口来支持,在java.io
包下主要包括输入、输出两种IO
流。
每种输入、输出流又可分为字节流
和字符流
两大类。其中
- 字节流以字节为单位来处理输入、输出操作,
- 而字符流则以字符来处理输入、输出操作。
节点流 处理流
除此之外,Java
的IO
流使用了一种装饰器设计模式
,它将IO
流分成底层节点流和上层处理流,其中
- 节点流用于和底层的物理存储节点直接关联:不同的物理节点获取节点流的方式可能存在一定的差异,
- 程序可以把不同的物理节点流包装成统一的处理流,从而允许程序使用统一的输入、输出代码来读取不同的物理存储节点的资源.
Java7的NIO 2
Java 7
在java.nio
及其子包下提供了一系列全新的API
,这些API
是对原有新IO
的升级,因此也被称为NIO 2
,通过这些NIO 2
,程序可以更高效地进行输入、输出操作。本章也会介绍Java 7
所提供的NIO 2
。
对象序列化
除此之外,本章还会介绍java
对象的序列化机制,使用序列化机制可以把内存中的java
对象转换成二进制字节流,这样就可以把java
对象存储到磁盘里,或者在网络上传输java
对象。这也是java
提供分布式编程的重要基础。