【发布时间】:2016-04-05 19:12:35
【问题描述】:
很多人都问过这样的问题,但这个问题有点不同。代码如下:
public static BufferedReader reader;
public static String readString() throws IOException {
reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
return s;
}
当程序运行时readString 方法被多次调用。第二个调用导致exception: stream closed。我不明白:为什么会这样呢?每次我们声明新的BufferedReader。所以stream 也必须是新的。还是不行?
如果不是,我应该如何组织我的程序,以便在所有调用后和我的程序结束后关闭阅读器?
【问题讨论】:
标签: java stream bufferedreader ioexception