Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tem um jeito mais enxuto para leitura de arquivos que não precise usar close toda vez?

Olá comunidade da Alura, como vão?

Tenho uma dúvida, ao que se refere a necessidade de utilizar sempre o .close(); e as formas de utilizar o

Se teria uma forma em que não precisa de se utilizar o mesmo, no Python por exemplo, eu elimino a necessidade utilizando: with open e com ele já posso dizer se eu vou usar aquele arquivo só para leitura, se vou sobrescrever, e que tipo de encoding utilizar, ficando algo mais ou menos assim:

with open(nome_arquivo, "r", encoding="utf-8") as arquivo:
    for linha in arquivo:
        linha = linha.strip()
        palavras.append(linha)

Vocês saberiam me dizer se no Java tem algo similar?

1 resposta
solução!

Oi Bruno

Temos o try with resources em Java. O suporte para try-with-resources - introduzido no Java 7 permite declarar recursos a serem usados ​​em um bloco try com a garantia de que os recursos serão fechados após a execução desse bloco.

Por exemplo,

try (PrintWriter writer = new PrintWriter(new File("test.txt"))) {
    writer.println("Hello World");
}

esse writer vai ser fechado após a execução sair do bloco do try