
问题是
br.close(),按照javadoc的说明,您执行了该 *** 作,将关闭流 并释放与之关联的所有系统资源 。
为了快速验证,请注释掉:
if (br != null) {// try {// br.close();// } catch (IOException e) {// // TODO Auto-generated catch block// e.printStackTrace();// }}您可以
s随时随地回答,没有任何例外。一个办法
一种解决方案是在所有读取终止后关闭缓冲区读取器:
String moreSearch = null; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try { do { // ... System.out.println("More Flight Query ? Press n/N to exit. Anyother key to continue searching."); moreSearch = br.readLine(); } while (!moreSearch.equalsIgnoreCase("n")); } catch (IOException e) { Logger.getLogger(FlightSearch.class.getName()).log(Level.SEVERE, "Cant read line from a System.in based BufferedReader", e); } finally { if (br != null) { try { br.close(); } catch (IOException ignoreMe) { Logger.getLogger(FlightSearch.class.getName()).log(Level.SEVERE, "Can't close a System.in based BufferedReader", ignoreMe); } } }欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)