Gostaria de saber se os comandos da linha 18 e 29 são redundantes e caso sejam, é considerado boa pratica fechar o BufferedReader dentro ou fora de um método?

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Gostaria de saber se os comandos da linha 18 e 29 são redundantes e caso sejam, é considerado boa pratica fechar o BufferedReader dentro ou fora de um método?

Oii Victor, tudo certo?
As linhas 18 e 29 acabam sendo redundantes sim, uma vez que, ao passarmos o arquivo como parâmetro do método, estamos trabalhando diretamente com o objeto e, por isso, ao fechar o arquivo dentro do método, a referência de fora do método já está fechada também. Acredito que seja uma boa prática fechar o arquivo no método main mesmo, porque você poderia querer utilizar novamente o arquivo em algum outro método, e ele estaria fechado. Então é mais prático abrir o arquivo no método main, realizar todas as operações necessárias com o arquivo e só depois disso fechá-lo.
Espero ter ajudado!
Abraços e bons estudos!