疯狂JAVA 15章 读书笔记 2015.3.30
- 文件类 File
- java IO 流的 相关概念
- 输入流和输出流
-
- 输入流:站在程序的角度看,一根管道dui在了文件上,从文件向程序读取数据
- 输出流:一根管道dui在了文件上,从程序向文件写入数据
- 字节流和字符流
-
- 字节流:以字节为单位(8位) 由 InputStream 和 OutputStream 作为基类
- 字符流:以字符为单位(两个字节,16位),由 Reader 和 Writer 作为基类
- 节点流和处理流
-
- 节点流:可以向一个特定的IO设备(如磁盘,网络)读写数据的流,称为节点流,低级流
- 处理流:用于对一个已经存在的流进行连接或封装,通过封装后的流来实现数据读、写操作
- 处理流就像一个管道一样套在节点流外面进行包装
- 四个抽象基类
InputStream、 Reader、 OutputStream、 Writer
InputStream使用示例:
结果:(输出上面的代码)
- 输入/输出流体系
(粗体字代表节点流,斜体字代表抽象基类)
- 管道流:用于进程间的通信
- 缓冲流:将输出或输入的字节流或字符流先放到“小桶”(缓存区)接着,接满后再输入或输出,如此反复
构造方法:![]()
![]()
![](https://img-blog.csdn.net/20150330180033990)
注意:OutputStream 和 Writer 使用的时候记得 flush() 一下(把缓存区的写入!)
- 转换流:将字节流转换成字符流
构造方法:
使用示例:
- 推回输入流
- 重定向标准输入、输出:
System 类里提供了如下三个重定向标准输入、输出的方法:
用法示例:(将系统的标准输出重定向到该PrintStream输出流,意味着将输出重定向到out.txt文件)
用法示例2:(不适用键盘作为标准输入,使用RedirectIn.java文件作为标准输入源)
- 特殊流:利用InputStream和OutputStream读取基本数据类型
DataInputStream DataOutputStream
- 对象流:在后面的对象序列化一节详细介绍