iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于自定义BufferedReader中的read和readLine方法
  • 510
分享到

基于自定义BufferedReader中的read和readLine方法

自定义bufferedreaderread 2023-05-30 17:05:57 510人浏览 八月长安
摘要

实例如下所示:package day0208; import java.io.FileReader;import java.io.IOException; public class MyBufferReader { private F

实例如下所示:

package day0208; import java.io.FileReader;import java.io.IOException; public class MyBufferReader {    private FileReader r;    MyBufferReader(FileReader r){       this.r=r;    }    //定义一个数组作为缓冲区    private char[] buf=new char[1024];    //定义个指针用于操作这个数组的元素,当操作到最后一个元素后,指针应该归零    private int pos=0;    //定义一个计数器,用于记录缓冲区中的数据个数,当该数据减到0,就从源中继续获取数据到缓冲区中。    private int count =0;    public int myRead() throws IOException{//自定义read方法       if(count==0){//如果缓冲区中没有数据,则从源中获取一批数据到缓冲区           count=r.read(buf);           pos=0;       }       if(count<0){           return -1;       }       char ch=buf[pos++];//一次从缓冲区获取一个字符       count--;       return ch;    }    public String myReadLine() throws IOException{//自定义readLine犯法       StringBuilder sb=new StringBuilder();       int ch=0;       while((ch=myRead())!=-1){//只要还有数据就进行读取           if(ch=='\n')//java换行符,停止读取,将已经读取到的数据输出返回              return sb.toString();           if(ch=='\r')              continue;//window下的换行符,不读也不换行,继续读取后面的字符           sb.append((char)ch);//正常情况下,不断进行读取       }       if(sb.length()!=0)//如果文档中中有字符,就返回读取到的数据           return sb.toString();       return null;//如果是空文档,就返回空    }    public void myClose() throws IOException{       r.close();//关闭流资源    }}

--结束END--

本文标题: 基于自定义BufferedReader中的read和readLine方法

本文链接: https://www.lsjlt.com/news/220127.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作