黑马程序员技术交流社区
标题:
MyBufferedReader的问题
[打印本页]
作者:
霍明波
时间:
2012-8-20 22:17
标题:
MyBufferedReader的问题
import java.io.*;
class IOTest
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("FileWriter.java");
MyBufferedReader mbr = new MyBufferedReader(fr);
String line = null;
while((line=mbr.myReadLine())!=null)
{
System.out.println(line);
}
mbr.myClose();
}
}
class MyBufferedReader
{
private FileReader f;
public MyBufferedReader(FileReader f)
{
this.f = f;
}
public String myReadLine() throws IOException
{
int num = 0;
StringBuilder sb = new StringBuilder();
while((num=f.read())!=-1)
{
if((char)num=='\r')
continue;
if((char)num=='\n')
return sb.toString();
else
sb.append((char)num);
}
if(sb!=null)
return sb.toString();
return null;
public void myClose() throws IOException
{
f.close();
}
}
褐色区域毕老师写的是:
if(sb.length()!=0)
return sb.toString();
return nul;
我写的程序不能停止,毕老师的可以,我的有什么问题吗?
作者:
唐杨老师
时间:
2012-8-20 22:46
sb != null 代表StringBuilder在内存中没有申请空间
sb.length()!=0 表示StringBuilder表示在内存中有地址,只是 内容是一个空字符串 "" ,这跟null是不一样的.
所以不是一回事
作者:
霍明波
时间:
2012-8-20 22:51
唐杨 发表于 2012-8-20 22:46
sb != null 代表StringBuilder在内存中没有申请空间
sb.length()!=0 表示StringBuilder表示 ...
我去,想了好久,犯浑了 已解决
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2