java 自定义BufferedReader_readLine
2013-12-17 16:45
375 查看
import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.Reader; public class BufferedReaderDemo { public static void main(String[] args) { MyBufferedReader mbr = null; try { mbr = new MyBufferedReader(new FileReader("src/D.java")); for (String line; (line = mbr.myReadLine()) != null;) System.out.println(line); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (mbr != null) { mbr.myClose(); mbr = null; } } catch (IOException e) { e.printStackTrace(); } } } } /* * 自定义字符输入流缓冲区 */ class MyBufferedReader { //缓冲区中的字符流 private Reader r = null; public MyBufferedReader(Reader r) { this.r = r; } public String myReadLine() throws IOException { //该方法缓冲数据的容器 StringBuilder sb = new StringBuilder(); /* * 未读到回车换行就把读到的数据添加到 * 容器中,读到回车换行就把数据返回 */ for (int ch; (ch = r.read()) != -1;) { if (ch == '\r') continue; if (ch == '\n') return sb.toString(); else { sb.append((char) ch); } } /* * 为了避免文件结尾无回车换行 * 只要容器中有数据最后就返回 */ if (sb.length() != 0) { return sb.toString(); } return null; } public void myClose() throws IOException { r.close(); } }
相关文章推荐
- java 自定义BufferedReader_readLine
- Java基础知识强化之IO流笔记53:IO流练习之 自定义类模拟BufferedReader的readLine()功能案例
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
- 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法
- Java自定义缓冲区MyBufferedReader
- 黑马程序员-JAVA学习之装饰设计模式与自定义BufferedReader
- 自定义一个类包含一个功能和readLine一致的方法来模拟BufferedReader
- java 模拟BufferedReader中的readLine方法
- 关于java中BufferedReader的read()及readLine()方法的使用注意
- Java基础之IO流,利用StringBuilder模拟BufferedReader的readLine方法
- 基于自定义BufferedReader中的read和readLine方法
- Java从一个输入流每次读取一行:BufferedReader.readLine()
- IO流_自定义类模拟BufferedReader的readLine()功能案例
- 黑马程序员_java对BufferedReader中readLine在拷贝文件时存在的问题的与改进方法。
- 关于java中BufferedReader的read()及readLine()方法的使用心得
- IO流-ReadLine方法的原理 自定义BufferedReader
- Java IO学习【7】BufferedReader的学习-readLine原理
- 【java编程】IO类之复写BufferedReader里的readLine方法(带行号)
- java编程,字符流BufferedReader,读取一行数据。finally,readLine