我在调用类是这样的代码:
public void Logininterface() throws IOException {
         ......
//创建对象,读取文件的方法
ReadfileMpl Read=new ReadfileMpl();
        ......
}
我在文件类是这样的代码:
public List getList() throws IOException{
                 ......
                //创建List集合
List list=new ArrayList();
// 打开读取文件的流
FileReader fr=new FileReader(f1);
BufferedReader br=new BufferedReader(fr);
/**
 * while循环读取文件的内容
 */
String line;//用line存储读取到的内容
int num=1;//用num表示行数
while((line=br.readLine())!=null){
                System.out.println("第"+num+"行的值是:"+line);
//将line的值存储入一个ArrayList 集合
                list.add(line);
                num++;
}
                return getList();
}我在实际运行的时候出现了一个死循环,不停的循环文件类里面的代码,请高手指教一下,这是什么原因呢?

解决方案 »

  1.   

    看了下程序。
    目地是  读一个文本,每次读入一行,读一行往list里添加一次。一直读到最后一行。两个疑点:
    1.  返回值   应该返回 list  而不是 getList()2.  所读文件 f1  没看到哪里来的。 全局?
      

  2.   

    因为你在getList()方法里又调用了getList()方法本身,每当方法要结束的时候又将方法重新执行,所以会无限循环.
      

  3.   

    return list
    像使用普通的变量一样就可以了
      

  4.   

    return getlist();//就相当于一个递归了,自己调自己,没有结束条件的话就会一直执行下去
    //要返回的是一个集合,在上面也定义了这个集合,最后直接return list就ok了