Why should Java I/O use try-with-resources?
Strong answer
It closes AutoCloseable resources deterministically even when an exception occurs. It also preserves suppressed exceptions, which is safer than manually closing resources in a fragile finally block.
