Я просто хочу знать, мы обычно закрываем потоки в конце, но почему бы нам не закрыть System.out
PrintStream с помощью System.out.close()
?
Почему мы не закрываем поток System.out` после его использования?
Ответ 1
Если вы закроете его, вы больше не сможете писать на консоль, поэтому оставьте эту задачу виртуальной машиной, когда процесс завершится. Вы должны закрыть только те потоки, которые у вас есть или созданные вручную. System.out
находится вне вашего контроля, поэтому оставьте его создателю, чтобы позаботиться.
Ответ 2
потому что мы не открыли его, и это его работа закрыть, если не указано иначе
он похож на С++-поговорку, которой я не владею, не delete
it.
Ответ 3
Вы все равно можете слить(), конечно.