Есть код в main
File fileToRead = getFileName();
File fileToWrite = getFileName();
Есть метод
private static File getFileName() throws IOException {
    try (BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in))) {
        String fileName = consoleReader.readLine();
        return new File(fileName);
    } catch (IOException ioe){
        throw new IOException("Console reading failed",ioe);
    }
}
При первом вызове все считывает - поток закрывает(как позже выяснится). При втором вызове сыпется с исключением ибо поток закрыт. Вопрос - разве поток я создаю не в скоупе метода? Не должен ли при втором вызове быть создан совсем другой объект, соответственно связан с совсем другим потоком? UPD Стоп, я так понимаю я закрыл поток в статической переменной in? Ну и по самой задаче - видимо опять что-то упускаю