Хочу уточнить по закрытию потоков.
Сделал так:
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 нового файлового ридера (как я написал изначально). Хочу узнать, что происходит на самом деле в таком случае. Приводит ли это к каким-либо проблемам или артефактам.
С уважением, Павел