Como posso corrigir uma exceção "IOException: Stream closed" usando System.in

Estou escrevendo um programa simples que lê e processa o conteúdo do arquivo usando umBufferedReader.

BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );

System.out.println("Enter the file name to read");
String fileName = br.readLine();
br.close();

br = new BufferedReader( new FileReader(fileName) );
// Process file contents
br.close();

br = new BufferedReader( new InputStreamReader(System.in) );
System.out.println("Enter another file name to read");
fileName = br.readLine();
br.close();

Mas quando ligo parabr.readLine() para ler outro nome de arquivo, recebo a seguinte exceção:

Exceção no segmento "main" java.io.IOException: fluxo fechado

Eu não entendo como oSystem.in stream pode ser fechado. Que erro estou cometendo e como corrigir isso?

questionAnswers(2)

yourAnswerToTheQuestion