黑马程序员——Java基础——IO流(模拟BufferedReader类中的readLine()方法)

来源:互联网 发布:图片装饰软件 编辑:程序博客网 时间:2024/05/29 03:25
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


import java.io.FileReader;import java.io.IOException;/** *  自定义缓冲区类readLine()方法 */public class MyBufferedReaderDemo {public static void main(String[] args)throws IOException{//1.定义读取文件流FileReaderFileReader fr = new FileReader("demo.txt");//2.定义缓冲区MyBufferedReaderMyBufferedReader bufr = new MyBufferedReader(fr);//3.读取并打印数据String line = null;while((line=bufr.readLine())!=null){System.out.println(line);}//4.关闭资源bufr.close();}}/** * 自定义缓冲区类 */class MyBufferedReader{//1.定义读取文件流变量FileReaderprivate FileReader fr;//2.定义初始化构造函数public MyBufferedReader(FileReader fr){this.fr = fr;}//3.定义readLine()方法public String readLine()throws IOException{StringBuffer sb = new StringBuffer();int ch = 0;while((ch=fr.read())!=-1){if((char)ch == '\r'){continue;}if((char)ch == '\n'){//如果是换行符则将字符串返回return sb.toString();}else {sb.append((char)ch);//拼接字符}}if(sb.length() != 0){//在最后一行没有换行符的情况下将最后一行数据返回return sb.toString();}return null;}//4.自定义关闭资源方法public void close()throws IOException{fr.close();}}


0 0
原创粉丝点击