Ola! Pelo código ele deveria sim criar o arquivo filmes.json
ao final da execução, logo depois que você digita "sair"
. Se o arquivo não está aparecendo e também não há erro, alguns pontos podem estar acontecendo:
Onde o arquivo é salvo
O new FileWriter("filmes.json")
cria o arquivo no diretório raiz de onde você está executando a aplicação.
Se você está rodando pelo IntelliJ/Eclipse, normalmente o arquivo vai parar na pasta raiz do projeto, e não dentro de src/
.
Faça um System.out.println(new File(".").getAbsolutePath());
logo antes do FileWriter
para confirmar o caminho real.
O loop precisa ser finalizado
O arquivo só é escrito depois que o loop while
termina (quando você digita sair
).
Se você está apenas digitando filmes e fechando a execução no botão “stop” do IDE, o trecho que grava o JSON nunca chega a ser executado.
Possível problema de permissão
Se você estiver executando em um ambiente com restrições (alguns sandboxes, WSL, ou containers), pode ser que o programa não tenha permissão para criar arquivos. Mas nesse caso o FileWriter
normalmente lançaria IOException
.
Ve se a lista não está vazia
Mesmo que a lista titulos
esteja vazia, o arquivo ainda deveria ser criado (só que contendo []
).
Se não existir nenhum arquivo, é mais provável ser a questão do diretório de execução ou do encerramento incorreto do programa.
Sugestão para depurar:
System.out.println("Gravando arquivo no diretório: " + new File(".").getAbsolutePath());
FileWriter escrita = new FileWriter("filmes.json");
escrita.write(gson.toJson(titulos));
escrita.close();
System.out.println("Arquivo filmes.json criado com sucesso!");