A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© fmi110 高级黑马   /  2015-8-6 10:56  /  123 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO
  1. /*
  2. 自己构造一个readLine()方法:
  3.         调用FileReader的read方法读取字符,并存入StringBuilder中,当
  4.         遇到行分隔符\r\n时,返回字符串。
  5. */
  6. import java.io.*;
  7. class MyBufferedReader
  8. {
  9.         private FileReader r = null;
  10.         MyBufferedReader(FileReader r){
  11.                 this.r = r;
  12.         }
  13.         public String myReadLine(FileReader r) throws IOException
  14.         {
  15.                 StringBuilder str = new StringBuilder();
  16.                 int ch = 0;
  17.                 while((ch=r.read())!=-1){
  18. //                        System.out.println("Hello World!");
  19.                         if(ch=='\r')
  20.                                 continue;
  21.                         if(ch=='\n')
  22.                                 return str.toString();
  23.                         else
  24.                                 str.append((char)ch);
  25.                 }
  26.                 //文件不一定都是以行分隔符结束,所以需要判断
  27.                 if(str.length()!=0)
  28.                         return str.toString();
  29.                 return null;
  30.         }
  31.         public void close() throws IOException
  32.         {
  33.                 r.close();
  34.         }
  35. }
  36. class MyReadLine
  37. {
  38.         public static void main(String[] args) throws IOException
  39.         {
  40.                 FileReader fr = new FileReader("2.txt");
  41.                 MyBufferedReader my = new MyBufferedReader(fr);
  42.                 String str = null;
  43.                 while((str=my.myReadLine(fr))!=null)
  44.                         System.out.println(str);
  45.                 System.out.println("Hello World!");
  46.                 my.close();
  47.         }
  48. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马