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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王薇熔 初级黑马   /  2012-8-1 23:46  /  1813 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
class MyReaderLine
{
private FileReader fr;
MyLineNumber(FileReader fr)
{
  this.fr=fr;
}
public String ReadLine()throws IOException
{
  StringBuilder sb = new StringBuilder();
  int ch = 0;
  while ((ch=fr.read())!=-1)
  {
   if(ch=='\r')
    continue;
   if(ch=='\n')
    return sb.toString();
   else
    sb.append((char)ch);
  }
  if(sb.length()!=0)  //为什么此处要用容器的长度方法呢?  不能这样判断?  if(sb.toString()!=null)  为什么不能这样呢?
   return sb.toString();
  return null;
   
  
}
public void close()throws IOException
{
  fr.close();
}
}

1 个回复

倒序浏览
public String ReadLine() throws IOException {
             // 因为StringBuilder是经过构造器初始化时的,默认长度为0
        StringBuilder sb = new StringBuilder();
        int ch = 0;
        while ((ch = fr.read()) != -1) {
                if (ch == '\r')
                        continue;
                if (ch == '\n')
                        return sb.toString();
                else
                        sb.append((char) ch);
                }
        if (sb.length() != 0) // 为什么此处要用容器的长度方法呢? 不能这样判断?
                             // if(sb.toString()!=null) 为什么不能这样呢?
                return sb.toString();
        return null;
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马