发布网友 发布时间:2022-05-05 18:02
共1个回答
热心网友 时间:2022-06-27 21:35
可以自定义一个类中包含和readLine原理一样的方法来模拟一下BuffreedReader*/publicclassBufferReader {publicstaticvoidmain(String[] args)throwsIOException{FileReader fr=newFileReader("c:tzh.txt");MyBufferedReader mybuf=newMyBufferedReader(fr);String line=null;while((line=mybuf.myReadLine())!=null){System.out.println(line);}mybuf.myClose();}}classMyBufferedReader{privateFileReader r;MyBufferedReader(FileReader r){this.r=r;};//可以一次读一行数据的方法publicString myReadLine(){StringBuilder sb=newStringBuilder();intch=0;try{while((ch=r.read())!=-1){if(ch=='\r')continue;if(ch=='\n')break;//应该是break,本身该方法就只是一行一行的读取,当读取到换行符时,说明已到一行了,不该再继续读下去,所以应使用“break;”elsesb.append((char)ch);}}catch(IOException e) {e.printStackTrace();}if(sb.length()!=0)returnsb.toString();returnnull;}publicvoidmyClose(){try{