- /**
- * Project Name:exam
- * File Name:myBufferedReader.java
- * Package Name:com.achievo.IO
- * Date:2015-1-18下午8:15:49
- * Copyright (c) 2015, 710081921@qq.com All Rights Reserved.
- *
- */
- package com.achievo.IO;
- import java.io.FileReader;
- /**
- * 模拟BufferedReader中readLine()方法
- * @version
- * @since JDK 1.6
- * @see
- */
- public class myBufferedReader {
- public FileReader fr;
-
- myBufferedReader(FileReader fr){
- this.fr=fr;
- }
-
- public String myReaderLine() throws Exception{
- // 便于演示创建一个临时容器存放数据
- StringBuilder stb = new StringBuilder();
- int length = 0;
- while((length = fr.read()) != -1){
- if(length == '\r')
- continue;
- if(length == '\n')
- return stb.toString();
- else
- stb.append((char)length);
- }
-
- return null;
- }
-
- public void myClose() throws Exception{
- fr.close();
- }
-
- }
复制代码
测试代码:
- public void copyFileByMyBuf() throws Exception {
- File file = new File("c:\\Test1.java");
- FileReader fr= new FileReader(file);
-
-
- // 创建文件缓冲区,以提高文件的写出效率,只需要将提高对象传入即可
- myBufferedReader bfr = new myBufferedReader(fr);
- // BufferedReader bfr = new BufferedReader(fr);
- String line = null;
- // readLine()方法
- // 通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
- // 包含该行内容的字符串,不包含任何行终止符,
- while((line = bfr.myReaderLine())!=null){
- System.out.println(line);
- }
-
- // 缓冲区的关闭,实际上已经对文件流进行关闭
- bfr.myClose();
-
- }
复制代码 |
|