黑马程序员技术交流社区
标题:
关于一个自定义ReadLine()函数的问题
[打印本页]
作者:
t_lins
时间:
2015-8-28 09:22
标题:
关于一个自定义ReadLine()函数的问题
看了毕老师讲的自定义BufferedReader的ReadLine()视频,自己也照着做了一个,可以运行不随人愿,代码及运行结果如下,求大神指点! import java.io.*;
//重新定义readLine()函数
class MyBufferedReader{
private FileReader fr;//定义FileReader引用
MyBufferedReader(FileReader fr){
this.fr=fr;
}
public String MyReadLine()throws IOException{//自定义MyReadLine()函数
StringBuilder sb=new StringBuilder();
int num=0;
while((num=fr.read())!=-1){//调用FileReader的read()函数逐个读取数据
if(num=='\r')//回车符回到上面代码继续
continue;
if(num=='\n')//换行符返回数据
return sb.toString();
sb.append((char)num);//循环添加数据
}
if(sb.length()!=0)
return sb.toString();
return null;
}
public void MyClose()throws IOException{
fr.close();
}
}
class MyBufReader {
public static void main(String[] args) {
MyBufferedReader mybuf=null;
try {
FileReader fr=new FileReader("demo.txt");
mybuf=new MyBufferedReader(fr);
while(mybuf.MyReadLine()!=null){
System.out.println(mybuf.MyReadLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
mybuf.MyClose();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
文件内容:
rdasas
dasds
sda
dssda
输出内容则是:
dasds
dssda
作者:
hejin67410
时间:
2015-9-23 18:38
谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2