输入:
字节流:InputStream
字符流:Reader
输出:
字节流:OutputStream
字符流:Writer
字节流和字符流:区别在于字节流和字符流操作的数据单元不同,字节流操作的最小数据单元是8位的字节,而字符流操作的最小数据单元是16位的字符
对已有文件进行续写:
FileReader的使用:
作业:读取一个java文件,打印在控制台上
将C盘一个文本文件复制到D盘:
字符流缓冲区技术:
提高读写效率,必须有流对象存在
BufferedWriter
newline(),换行
BufferedReader
readLine()方法,一次读取一行
运用:通过缓冲区复制一个.java文件。
注意:readLine()方法只返回回车符之前的数据,不会返回换行,所以要自己添加newLine()换行
自定义类,模拟BufferedReader
BufferedReader子类
LineNumberReader,带行号
跟踪行号的缓冲字符输入流。此类定义了方法setLineNumber(int)和getLineNumber(),他们可分别用于设置和获取当前行号。
默认情况下,行编号从0开始。行号随数据读取在每个行结束符处递增
代码如下:
自定义MyLineNumberReadLine类,继承MyBufferedReader类
代码如下:
字节流对象的操作:
作业:复制一个图片