黑马程序员技术交流社区
标题:
毕向东老师第19天第10节的时候MyLineNumberReader 可能有点问题
[打印本页]
作者:
liquid1993
时间:
2015-5-9 23:27
标题:
毕向东老师第19天第10节的时候MyLineNumberReader 可能有点问题
可能时毕老师遗漏了 。我测试了一下 当文本文件什么都不装的时候,按照老师的程序输出的行数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)用来判断文本文件是否为空, 不知道我说的对不对 请大家指正。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2