yme*_*ene 0 java file while-loop
我不知道为什么我的循环无限循环.
URLLinks
public String findFile() {
try (BufferedReader br = new BufferedReader(
new FileReader("urls.txt"))) {
String sCurrentLine;
if ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
break;
}
} catch (IOException e) {
e.printStackTrace();
}
return findFile();
}
Run Code Online (Sandbox Code Playgroud)
我只想打印一次sCurrentLine,但它会无限打印出来.我认为问题在于返回findFile(),但我不知道如何修复它.
干杯
再次更新UPDATE UPDATE
我通过将方法设置findFile()为void,并从while循环更改为if语句来修复问题
URLLinks更新代码
public void findFile() {
try (BufferedReader br = new BufferedReader(
new FileReader("urls.txt"))) {
String sCurrentLine;
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
它是无限递归,因为它findFile()总是调用自身.除了return findFile();必需的东西之外,还不清楚函数的用途是什么,也许只是:
return sCurrentLine; // with 'sCurrentLine' declared prior try
Run Code Online (Sandbox Code Playgroud)
循环似乎是不需要的,因为它在读取第一行后退出.