O Java 7 possui uma funcionalidade interessante para diminuir um pouco o código e evitar problemas em locais onde recursos precisam ser fechados (conexão com banco, manipulação de arquivos, sockets, streams em geral, …). Essa funcionalidade é conhecida como try-with-resources.
Antes do Java 7, para ler um arquivo tínhamos que fazer o seguinte: