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?
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.