- 总览
- 磁盘操作:File
- 字节操作:InputStream和OutputStream
- 字符操作:Reader和Writer
- 对象操作:Serializable
- 网络操作:Socket
- 新的输入/输出:NIO
- File类可以表示文件或者目录的信息,但是它不表示文件内容
- 字节操作
- 文件复制
- 装饰者模式
- InputStream是抽象组件
- FileInputStream是InputStream的子类,是具体组件,提供字节流输入操作
- FilterInputStream是抽象装饰类,为组件提供额外功能。如BufferedInputStream为FileInputStream提供了缓存功能,实例化一个具有缓存功能的字节流对象时,只需要在 FileInputStream 对象上再套一层 BufferedInputStream 对象即可。
- 字符操作
- 编码和解码
- String的编码方式
- Reader和Writer
- 实现逐行输出文本文件的内容
- 对象操作
- 序列化:将对象转化为字节序列 ObjectOutputStream.writeObject()。注意,静态变量属于类,不会被序列化
- Serializable,序列化的类需要实现Serializable接口
- transient关键字可以使一些字段不被序列化
- 网络操作
- InetAddress:用于表示网络上的硬件资源,即 IP 地址;
- URL:统一资源定位符;
- Sockets:使用 TCP 协议实现网络通信;
- Datagram:使用 UDP 协议实现网络通信。
- NIO
- 流与块: