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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马伍仪华 中级黑马   /  2012-3-8 23:36  /  2086 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package IO;

import java.io.*;

class MybufferedReader1 {

        /**
         * @param args
         */
        private static FileReader r;

        MybufferedReader1(FileReader r) {
                this.r = r;
        }

        public  String myreadline()throws Exception {
               
                        int ch = 0;
                        StringBuilder sb = new StringBuilder();
                        while ((ch = r.read()) != -1) {//读取文件,返回给ch,当读完等于-1,循环停止
               if (ch=='\r') {
                       continue;//当读到\r表示换行,这个数据不进入内存
               }
                               
                        if (ch=='\n') {
                                return sb.toString();//当读到\n,就把这行的数据交给字符串
                        }else
                                sb.append((char) ch);

               }
                return null;}
        public  class MybufferedReader{
        public static void main(String[] args) {
                FileReader fr=null;
                BufferedReader br=null;
                try {
                        fr=new FileReader("c:\\demo.txt");
                        br=new BufferedReader(fr);
                        String str=null;
                        while(br.myreadline()!=null){}
                } catch (Exception e) {
                        System.out.println("读取异常");
                }

       

}
为什么显示红线呢

2 个回复

倒序浏览
我不知道你的意图是什么  我改了一下代码 没有 错误 你看看对吧


package IO;

import java.io.BufferedReader;
import java.io.FileReader;

class MybufferedReader1 {

        /**
         * @param args
         */
        private static FileReader r;

        MybufferedReader1(FileReader r) {
                this.r = r;
        }

        public  String myreadline()throws Exception {
               
                        int ch = 0;
                        StringBuilder sb = new StringBuilder();
                        while ((ch = r.read()) != -1) {//读取文件,返回给ch,当读完等于-1,循环停止
               if (ch=='\r') {
                       continue;//当读到\r表示换行,这个数据不进入内存
               }
                                
                        if (ch=='\n') {
                                return sb.toString();//当读到\n,就把这行的数据交给字符串
                        }else
                                sb.append((char) ch);

               }
                return null;}

        public static void main(String[] args) {
                FileReader fr=null;
                BufferedReader br=null;
                MybufferedReader1 reader = new MybufferedReader1(fr);
                try {
                        fr=new FileReader("c:\\demo.txt");
                        br=new BufferedReader(fr);
                        String str=null;
                        while(reader.myreadline()!=null){}
                } catch (Exception e) {
                        System.out.println("读取异常");
                }
        }
        

}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
public  class MybufferedReader 中间多了这个

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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