黑马程序员技术交流社区

标题: 自定义缓冲区 [打印本页]

作者: 暗影流光    时间: 2014-7-11 10:26
标题: 自定义缓冲区
  1. import java.io.IOException;
  2. import java.io.Reader;

  3. /*自定义的缓冲区
  4. * 首先需要有一个数组容器,用read方法将源中的一批数据获取
  5. * 再从数组容器中一个一个的取出,当容器中的数据取完后,再从源中取一次
  6. */

  7. public class MyBufferReader {
  8.         // 首先需要一个数组容器
  9.         char[] chs = new char[3];
  10.         // 其次,缓冲区建立时,需要有一个关联的源
  11.         private Reader fr;
  12.         int count = 0;
  13.         int pos = 0;
  14.         MyBufferReader(Reader fr) {
  15.                 this.fr = fr;
  16.         }

  17.         public int myRead() throws IOException {
  18.                 if (count == 0){
  19.                         count = fr.read(chs);
  20.                         pos=0;
  21.                 }
  22.                 if(count<0)
  23.                         return -1;
  24.                 char ch=chs[pos];
  25.                 pos++;
  26.                 count--;
  27.                 return ch;
  28.         }
  29.         public String myReadLine() throws IOException{
  30.                 int ch=0;
  31.                 StringBuilder sb=new StringBuilder();
  32.                         while((ch=myRead())!=-1){
  33.                                 if(ch=='\r')
  34.                                         continue;
  35.                                 if(ch=='\n')
  36.                                         return sb.toString();
  37.                                 sb.append((char)ch);
  38.                         }
  39. //                        if((sb.toString())!=null){
  40. //                                return sb.toString();
  41. //                        }
  42.                 return null;       
  43.         }
  44.         public void myClose() throws IOException{
  45.                 fr.close();
  46.         }

  47. }
复制代码

作者: 陈云阳    时间: 2014-7-11 15:37
别这么水好吗,这些要发发博客就好了
作者: 暗影流光    时间: 2014-7-11 17:46
陈云阳 发表于 2014-7-11 15:37
别这么水好吗,这些要发发博客就好了

这年头挣点技术分不容易啊。




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