可能时毕老师遗漏了 。我测试了一下 当文本文件什么都不装的时候,按照老师的程序输出的行数lineNumber是1,可是按照java本身封装的程序中的getLineNumber()运算的话输出是0,所以我在比老师的程序上面加了一条语句- public String myReadLine()throws IOException
- {
- if(r.read()==-1)
- return null;
- else
- {
- lineNumber++;
- StringBuilder sb = new StringBuilder();
- int ch = 0;
- while((ch=r.read())!=-1)
- {
- if(ch=='\r')
- continue;
- if(ch=='\n')
- {
- //System.out.println(sb.toString());
- return sb.toString();
- }
- else
- sb.append((char)ch);
- }
- if(sb.length()!=0)
- return sb.toString();
- return null;
- }
-
- }
- public void setLineNumber(int lineNumber)
- {
- this.lineNumber = lineNumber;
- }
- public int getLineNumber()
- {
- return lineNumber;
- }
- public void myClose()throws IOException
- {
- r.close();
- }
- }
复制代码 加了一句if(r.read()==-1)用来判断文本文件是否为空, 不知道我说的对不对 请大家指正。
|
|