3

我正在编写一个简单的程序,它使用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();

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

线程“主”java.io.IOException 中的异常:流已关闭

我不明白如何System.in关闭流。我犯了什么错误,我该如何解决?

4

1 回答 1

7

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

br.close();

您在读取文件名后发出的。

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

于 2012-02-19T13:35:51.000 回答