NO.31 文件数据IO操作

字符流:

字符流与字节流的区别在于读写单位为字符,但是字符流底层本质还是读写字节,只是字符与字节的转换工作交给了字符流来完成。

Reader是所有字符输入流的父类,规定了读取字符的相关方法

Writer是所有字符输出流的父类,规定了写出字符的相关方法

转换流:InputStreamReader,OutputStreamWriter----它们是字符流的一对常见实现类。

NO.31 文件数据IO操作_第1张图片
输出字符转换流
NO.31 文件数据IO操作_第2张图片
输入字符转换流

java.io.PrintWriter

缓冲字符输出流

特点:可以按行写出字符串,由于有缓冲,写出字符串效率高

实际上PrintWriter自身的最大特点是支持"自动行刷新"功能,而缓冲功能是靠其内嵌BufferedWriter实现。因为实例化PrintWriter时,它总会内部实例化BufferedWriter并与其连接。

NO.31 文件数据IO操作_第3张图片
缓冲字符输出流

在流连接中使用PrintWriter:

NO.31 文件数据IO操作_第4张图片

完成记事本功能:程序启动后,要求用户输入一个文件名,然后将控制台输入的每行字符串都写入到该文件中。当用户输入"exit"时,程序退出。

NO.31 文件数据IO操作_第5张图片
记事本功能

java.io.BufferedReader

缓冲字符输入流,可以按行读取字符串

NO.31 文件数据IO操作_第6张图片
缓冲字符输入流

你可能感兴趣的:(NO.31 文件数据IO操作)