Java IO浅学
结构:
功能流:
1. 转换流:即字符流只有writer和reader没有字节流。
a. InputStreamReader 读入(读)字节转换成字符。看不懂的转看得懂的
b. OutputStreamWriter 输出(写)字符转换成字节。看的懂得转看不懂的
2. 缓冲流:Buffered(加速缓冲的速度)
a. 字节和字符流都可以加速
b. 字节:分字节输出流和字节输入流
c. 字符:分字符输入流和字符输出流
流的规律:
1. 是数据源还是数据目的
a. 源:输入InputStream 读取数据Reader
b. 目的:输出OutputStream 写入数据:Writer。
2. 操作的是字节还是文本:
a. 源:字节 InputStream 文本:Reader
b. 目的: 字节 OutputStream 文本:Writer
3. 数据所在的具体设备:
a. 源设备:
i. 硬盘:文件 File开头
ii. 内存: 数组,字符串
iii. 键盘:System.in
iv. 网络:Socket
b. 目的设备:
i. 同上(如果是屏幕则使用System.out);
4. 是否需要功能:
a. 转换: 转换流: InputStreamReader和OutputStreamWriter.
b. 高效: 缓冲区:BufferedXXX
文件读取:FileInputStream
文件输出:FileOutputStream
字符转字节:OutputStreamWriter
字节转字符:InputStreamReader
字节缓冲输入流:BufferedInputStream
字节缓冲输出流:BufferedOutputStream
写入文件:FileWriter
字符缓冲输出:BufferedWriter
文件读取:FileInput
字符缓冲输入:BufferedReader