Avatar ·

Lectura de un archivo de texto en Java: guía paso a paso para principiantes

¡Hola a todos! Llevo aproximadamente un mes aprendiendo Java y me encontré con una tarea que parece simple pero me deja atascado. Necesito leer un archivo de texto normal (por ejemplo, log.txt o data.txt) y mostrar su contenido en la consola. He probado un montón de opciones de internet, pero cada vez algo sale mal. Esto es lo que he intentado:
import java.io.*;

public class ReadFile {
    public static void main(String[] args) {
        File file = new File("data.txt");
        Scanner scanner = new Scanner(file);
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            System.out.println(line);
        }
        scanner.close();
    }
}
Este código da el error "FileNotFoundException", aunque el archivo está en la misma carpeta que el código fuente. Luego encontré un ejemplo con BufferedReader y FileReader, pero ahí hay que manejar excepciones y me lié con try-catch. También vi que en Java 8 se puede usar Files.lines(), pero eso es magia negra para mí.