Java的IO流中BufferedReader中readLine()方法的原理
2014-06-17 15:46
881 查看
readLine()方法的原理:
无论是读一行,获取读取多个字符,其最终都是在硬盘上一个一个的读取。所以最终使用的还是read()方法一次读一个的方法。
例如:读取abc这一行数据,我们知道,在abc末尾处是换行符,也就是说,这一行数据应该是:abc\r\n(window下的换行符是\r\n)。因为readLine()方法是高效字符输入流,当调用readLine()方法时,读取第一个字符a,存入缓冲区,接着读取第二个字符b,存入缓冲区,再读取第三个字符c,存入缓冲区,当读取到\r的时候,因为\r是换行符标记中的一个,不包含任何终止符,所以不存入缓冲区,紧接着读取下一个字符\n,当读取到\n的时候,说明这一行结束,这时该方法就把已经在缓冲区中已经存好的数据变成字符串,读取出来,再接着读取下一行。这就是readLine()方法读取一行的原理。
无论是读一行,获取读取多个字符,其最终都是在硬盘上一个一个的读取。所以最终使用的还是read()方法一次读一个的方法。
例如:读取abc这一行数据,我们知道,在abc末尾处是换行符,也就是说,这一行数据应该是:abc\r\n(window下的换行符是\r\n)。因为readLine()方法是高效字符输入流,当调用readLine()方法时,读取第一个字符a,存入缓冲区,接着读取第二个字符b,存入缓冲区,再读取第三个字符c,存入缓冲区,当读取到\r的时候,因为\r是换行符标记中的一个,不包含任何终止符,所以不存入缓冲区,紧接着读取下一个字符\n,当读取到\n的时候,说明这一行结束,这时该方法就把已经在缓冲区中已经存好的数据变成字符串,读取出来,再接着读取下一行。这就是readLine()方法读取一行的原理。
相关文章推荐
- IO流-ReadLine方法的原理 自定义BufferedReader
- Java基础之IO流,利用StringBuilder模拟BufferedReader的readLine方法
- 14-IO流(字符流-缓冲区-BufferedReader-readLine方法原理) 15-IO流(字符流-缓冲区-复制文本文件).
- 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法
- 21-IO流-14-IO流(字符流-缓冲区-BufferedReader-readLine方法原理)
- 黑马程序员_java对BufferedReader中readLine在拷贝文件时存在的问题的与改进方法。
- 关于java中BufferedReader的read()及readLine()方法的使用注意
- IO流-2.【字符流缓冲区BufferedWriter/BufferedReader】【readLine()方法】【装饰设计模式】【LineNumberReader】
- readLine原理及自定义一个类中包含一个和readLine一致的方法功能来模拟BufferedReader
- Java基础---Java---IO流-----LineNumberReader方法及原理、自定义一个LineNumberReader、字节流、图片复制、mp3复制、
- Java IO学习【7】BufferedReader的学习-readLine原理
- Java BufferedReader readLine方法i
- 21-IO流-17-IO流(字符流-缓冲区-自定义MyBufferedReader-readLine方法)
- 关于java中BufferedReader的read()及readLine()方法的使用心得
- Java:java中BufferedReader的read()及readLine()方法的使用心得
- 字符流缓冲区BufferedReader之readLine方法的原理
- 关于java中BufferedReader的read()及readLine()方法的使用心得
- [转]关于java中BufferedReader的read()及readLine()方法的使用心得
- java 模拟BufferedReader中的readLine方法
- Java基础知识强化之IO流笔记53:IO流练习之 自定义类模拟BufferedReader的readLine()功能案例