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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘海源 中级黑马   /  2012-8-6 23:35  /  1113 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

自定义缓冲区,MyBufferedReader
  import java.io.FileReader;
import java.io.IOException;

public class MyBufferedReader {
        private FileReader fr;
        private char[] buf = new char[1024];
        private int count = 0;
        private int pos = 0;

        public MyBufferedReader(FileReader fr) {
                this.fr = fr;
        }

        public int MyRead() {
                try {
                        if (count == 0) {
                                count = fr.read();// 记录每次读的字数数
                                pos = 0;// 读取字符数的角标移位
                        }
                } catch (IOException e) {

                        e.printStackTrace();
                }
                if (count < 0)
                        return -1;
                char ch = buf[pos];
                count--;
                pos++;
                return ch;
        }

        public String MyReadLine() {
                StringBuilder sb = new StringBuilder();// 创建一个字符串数组
                int ch = 0;
                while ((ch = MyRead()) != -1) {// 判断是否读到了下一个字符
                        if (ch == '\r')
                                continue;
                        if (ch == '\n')
                                return sb.toString();
                        sb.append((char) ch);

                }
                if (sb.length() != 0)
                        return sb.toString();

                return null;
        }

        public void Myclose() {
                try {
                        fr.close();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
代码没有问题啊
回复 使用道具 举报
采用JAVA技术自定义缓冲区,值得学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马