首先要明确StringBuilder底层是一个数组结构。
StringBuilder sb=new StringBuilder(); //创建一个字符串,用于接收数据传入的数据
int ch=0; //用于接收读取返回的数据
while((ch=f.read())!=-1) //循环条件,如果返回的字节不为-1,则表示还有数据,继续读
{
if(ch=='\r')
continue;
if(ch=='\n')
return sb.toString(); //这两行是读取标记,看是否是读取了一行,如果是一行的话,则将存入数组的字节变为字符串返回
else
sb.append((char)ch);
}
if(sb.length()!=0) //结合while循环,如果while循环结束,且字符串长度不为空,则将已存在到数组中的字节转化为字符串返回
{
return sb.toString();
}
return null;//为什么这儿要返回一个null呀???????至于这儿为什么返回的是return null,为了程序的严谨性,如果上边的条件都没有满足,也好有个返回值 |