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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

可能时毕老师遗漏了 。我测试了一下 当文本文件什么都不装的时候,按照老师的程序输出的行数lineNumber是1,可是按照java本身封装的程序中的getLineNumber()运算的话输出是0,所以我在比老师的程序上面加了一条语句
  1. public String myReadLine()throws IOException
  2.         {
  3.                 if(r.read()==-1)
  4.                         return null;
  5.                 else
  6.                 {
  7.                         lineNumber++;
  8.                         StringBuilder sb = new StringBuilder();

  9.                         int ch = 0;

  10.                         while((ch=r.read())!=-1)
  11.                         {
  12.                                 if(ch=='\r')
  13.                                         continue;
  14.                                 if(ch=='\n')
  15.                                 {
  16.                                         //System.out.println(sb.toString());
  17.                                         return sb.toString();
  18.                                 }
  19.                                 else
  20.                                         sb.append((char)ch);
  21.                         }
  22.                         if(sb.length()!=0)
  23.                                 return sb.toString();
  24.                         return null;
  25.                 }
  26.                
  27.         }
  28.         public void setLineNumber(int lineNumber)
  29.         {
  30.                 this.lineNumber = lineNumber;
  31.         }
  32.         public int getLineNumber()
  33.         {
  34.                 return lineNumber;
  35.         }

  36.         public void myClose()throws IOException
  37.         {
  38.                 r.close();
  39.         }
  40. }
复制代码
加了一句if(r.read()==-1)用来判断文本文件是否为空,  不知道我说的对不对 请大家指正。

0 个回复

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