Avatar ·

Como ler todos os arquivos de uma pasta em Java? (recursivamente e não)

Olá a todos! Comecei a estudar Java recentemente e me deparei com a seguinte tarefa: preciso escrever um programa que leia todos os arquivos de um diretório específico. Por exemplo, tenho uma pasta "data" com arquivos de texto de tamanhos variados e quero obter o conteúdo deles como strings. Tentei fazer sozinho, mas ainda não estou conseguindo muito bem. Aqui está o que escrevi:
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;

public class ReadFiles {
    public static void main(String[] args) {
        File folder = new File("data");
        File[] listOfFiles = folder.listFiles();
        
        for (File file : listOfFiles) {
            if (file.isFile()) {
                BufferedReader reader = new BufferedReader(new FileReader(file));
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                }
                reader.close();
            }
        }
    }
}