当我试图在while循环中关闭BufferedReader时,当循环第二次执行时它将抛出IOException: Stream closed
。如何在while循环中关闭BufferedReader
我的代码是这样的:
import java.io.*;
class Test {
public static void main(String[] args) {
int option = 0;
BufferedReader br = null;
while (option != -1) {
try {
br = new BufferedReader(new InputStreamReader(System.in));
try {
option = Integer.parseInt(br.readLine());
} catch (NumberFormatException e) {
option = -1;
}
br.close();
} catch (IOException e) {
System.err.println(e);
System.exit(-4);
}
System.out.println(option);
}
}
}
我应该怎么做关闭的BufferedReader?提前致谢。
你的意思是我不需要关闭BufferedReader,如果我在循环之前打开它的话? – Fingal
不,我的意思是你不应该关闭它,因为它缠绕着'System.in'。哦,等等,这就是我说的。 – EJP