[Resolvido] Ajuda para ler conteúdo de vários arquivos TXT dentro de uma pasta

Boa noite pessoal,

Estou com um problema que está me tirando o sono. Preciso conseguir ler o conteúdo de vários arquivos txt dentro de uma pasta para manipulá-los.

Consegui fazer mais ou menos as duas coisas separadas, não estou conseguindo juntar.

Nesse código consigo ler o conteúdo de apenas um arquivo txt:


    public static void main(String[] args) {
        try {
            BufferedReader br = new BufferedReader(new FileReader("c:/Teste.txt"));
            while (br.ready()) { //lê o arquivo enquanto houver linhas
                String linha = br.readLine();
                System.out.print(linha);
            }
            br.close();
        } catch (IOException ioe) {
        }

Utilizando esse código consigo ver os arquivos e não o conteúdo:


File diretorio = new File("c:\teste");  
String [] arquivos = diretorio.list();  
for(int i=0; i<arquivos.length; i++) {  
  // Faz alguma coisas com os nomes.  
}  

Alguém pode me ajudar por favor?

Talvez te ajude … da uma lida…
http://www.mballem.com/post/manipulando-arquivo-txt-com-java#.U4viqPldVcg
http://www.guj.com.br/articles/13
http://www.guj.com.br/java/43385-ler-varios-arquivos-txt-de-um-mesmo-diretorio

até…

Valeu Andy, alguns desses artigos já havia lido e mesmo assim não estava dando certo.

Mudei um pouco o código e continua não funcionando, alguém pode me ajudar por favor.

    public static void main(String[] args) {

        File dir = new File("C:\\Teste");
        String[] stringDir = dir.list();

        for (int i = 0; i < stringDir[i].length(); i++) {

            if (stringDir[i].contains(".txt")) {
                try {
                    BufferedReader br = new BufferedReader(new FileReader(stringDir[i]));
                    while (br.ready()) { //lê o arquivo enquanto houver linhas
                        String linha = br.readLine();
                        System.out.print(linha);
                    }
                    br.close();
                } catch (IOException ioe) {
                }

            }
        }
    }

Ocorre a seguinte mensagem de erro:

run:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at javaapplication.arqEnt.main(arqEnt.java:32)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Fiz esse exemplo básico, trate as exceções geradas…
Espero que ajude…


import java.io.*;

public class Exemplo { 
    
    public static void main(String[] args) {
        String dir = "C:\\Teste";
        File file = new File(dir);
        for(String arq : file.list()){           
            if(arq.endsWith(".txt")){
                System.out.println("------>" + arq + "<------"); 
                try{
                    System.out.println(leitura(dir + "\\" + arq));
                }
                catch(Exception ex){}
            }
        }
    }
    
    private static String leitura(String dir) throws Exception { 
        String linha = "", conteudo = "";        
        BufferedReader br = new BufferedReader(new FileReader(new File(dir)));
        while((linha = br.readLine()) != null){            
            if(!linha.isEmpty()){
                conteudo = new StringBuilder(conteudo).append(linha.concat("\n")).toString();
            }
        }
        br.close();
        return conteudo;
    } 
}

Obrigado! Vou fazer o teste aqui e depois coloco o resultado

Andy, obrigado novamente! Funcionou perfeitamente.