我正在编写一个简单的程序,使用BufferedReader
读取和处理文件内容。
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
System.out.println("Enter the file name to read");
String fileName = br.readLine();
br.close();
// Process file contents
br = new BufferedReader( new InputStreamReader(System.in) );
System.out.println("Enter another file name to read");
fileName = br.readLine();
br.close();
但是当我调用第二个br.readLine()
来读取另一个文件名时,我得到以下异常:
线程“main”中的异常java.io.IOException:Stream closed
我不明白如何关闭System.in
流。
我犯了什么错误,如何解决这个问题?
答案 0 :(得分:7)
流已关闭,因为您正在使用第一个
关闭它br.close();
您在阅读完文件名后发出。
请勿关闭该阅读器,也不要为System.in
创建新阅读器 - 只需重新使用该阅读器即可。使用不同的文件来读取文件。