io自学笔记

来源:互联网 发布:mac top cpu排序 编辑:程序博客网 时间:2024/06/07 06:39

输入:

字节流: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类

代码如下:


字节流对象的操作:



作业:复制一个图片