黑马程序员技术交流社区

标题: 关于BufferedReader的问题 [打印本页]

作者: 松毛    时间: 2013-11-16 11:04
标题: 关于BufferedReader的问题
本帖最后由 松毛 于 2013-11-16 20:08 编辑

这是毕老师视频里自定义一个readLine()的方法:
public String myReadLine()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);
                }
                return null;
        }


这里面的ch是int型的,而if(ch == '\r')中'\r'是字符型的,它们之间怎么能够作比较呢? 是不是ch存储的是一个字符的ASCII值啊?

作者: Weix1992    时间: 2013-11-16 19:03
'\r'是字符,用unicode表表示,假如代表是97,当读到一个字符一个'\r'字符后,对应了unicode表换成97两者一比较,结果就出来了~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2