Oi, João! Como vai?
Achei interessante como você utilizou o substring junto com indexOf para extrair o nome do arquivo sem a extensão. Isso mostra que você já está entendendo bem como manipular strings de forma dinâmica.
Uma dica interessante para o futuro é validar se o nome do arquivo realmente possui um ponto antes de fazer a extração. Isso evita erros caso o usuário digite um nome sem extensão. Veja este exemplo:
String nomeArquivo = scanner.nextLine();
if(nomeArquivo.contains(".")){
String nomeFormatado = nomeArquivo.substring(0, nomeArquivo.indexOf("."));
System.out.println(nomeFormatado);
} else {
System.out.println("Arquivo sem extensao");
}
Nesse código, o contains verifica se existe um ponto antes de aplicar o substring, evitando erro na execução.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!