Хочу уточнить по закрытию потоков. Сделал так:
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String fileName = reader.readLine();
        reader = new BufferedReader(new FileReader(fileName));
Валидатор отругал, что не закрыт поток ввода с консоли. Добавил reader.close() - приняло. Вопрос по существу - Есть ли существенная разница между вариантом закрытия консольного ридера и присвоением этой же переменной нового файлового ридера (как хотел валидатор) и вариантом просто присвоения переменной reader нового файлового ридера (как я написал изначально). Хочу узнать, что происходит на самом деле в таком случае. Приводит ли это к каким-либо проблемам или артефактам. С уважением, Павел