如何使用System.in修复"IOException:Stream closed"异常?

nik*_*hil 3 java system.in ioexception

我正在编写一个简单的程序,使用a读取和处理文件内容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();
Run Code Online (Sandbox Code Playgroud)

但是当我调用br.readLine()另一个文件名时,我得到以下异常:

线程"main"中的异常java.io.IOException:Stream已关闭

我不明白如何System.in关闭流.我犯了什么错误,如何解决这个问题?

Mat*_*Mat 7

流已关闭,因为您正在使用第一个关闭它

br.close();
Run Code Online (Sandbox Code Playgroud)

在读完文件名后发出的.

不要关闭那个阅读器,也不要创建一个新阅读器System.in- 只需重新使用它.使用不同的文件来读取文件.