Oi pessoal…mais uma vez venho à procura da vossa ajuda!!!
Alguém sabe ou tem um programa que copie o conteudo de varios ficheiros TXT para um só ficheiro TXT?!
O que está dentro desses ficheiros são textos, e queria juntar todos esses textos num só!!!
File file = new File("caminho");
FileReader fr = null;
BufferedReader br = null;
String linha = "";
File arquivoDestino = new File("caminho arqui destino");
FileOutputStream fos = null;
try {
fr = new FileReader(file);
br = new BufferedReader(fr);
fos = new FileOutputStream(arquivoDestino);
while((linha = br.readLine()) != null) {
fos.write(linha.getBytes());
}
fos.flush();
fos.close();
} catch (FileNotFoundException fnex) {
// TODO Auto-generated catch block
fnex.printStackTrace();
} catch (IOException ioex) {
ioex.printStackTrace();
}
Você iria ler todos os arquivos e grava-los em um de destino, nesse caso a leitura esta sendo feito em apenas um arquivo com n linhas.
Espero ter ajudado…
Aqui vc indica a pasta onde se encontram seus arquivos:
File file = new File(“caminho”);
Aqui é o desdtino do novo documento:
File arquivoDestino = new File(“caminho arqui destino”);
Aqui vc escreve o conteudo parta um novo arquivo:
while((linha = br.readLine()) != null) {
fos.write(linha.getBytes());
}
Só tem um problema para pegar vários arquivos de um diretório vc precisa criar um File diretorio = new File(“diretorio dos arquivos”); e aí vc vai precisar listar todos os arquivos lá dentro e enquanto houver arquivos vc escreve o conteúdo…
Infelizmente não acho q alguém vá fazer o programa pra vc, mesmo pq isso aqui é um forúm e não uma consultoria. Se vc não soubre fazer isso q eu lhe disse provavelmente não vai entender o resto…
/**
* @param args
*/
public static void main(String[] args) {
File file = new File("C:\Documents and Settings\Sonia\Ambiente de trabalho\Projecto\Textos2");
FileReader fr = null;
BufferedReader br = null;
String linha = "";
File arquivoDestino = new File("C:\Documents and Settings\Sonia\Ambiente de trabalho\Projecto\textt.txt");
FileOutputStream fos = null;
try {
fr = new FileReader(file);
br = new BufferedReader(fr);
fos = new FileOutputStream(arquivoDestino);
while((linha = br.readLine()) != null) {
fos.write(linha.getBytes());
}
fos.flush();
fos.close();
} catch (FileNotFoundException fnex) {
// TODO Auto-generated catch block
fnex.printStackTrace();
} catch (IOException ioex) {
ioex.printStackTrace();
}
}
}
[/code]
em que,
File file = new File(“C:\Documents and Settings\Sonia\Ambiente de trabalho\Projecto\Textos2”)
é o caminho da pasta (Textos2) em que tem lá dentro 30000 ficheiros TXT, com textos.
e copio para,
File arquivoDestino = new File(“C:\Documents and Settings\Sonia\Ambiente de trabalho\Projecto\texttt.txt”);
Obrigados por tentarem ajudar…
Mas à um problema no codigo que me deu, so está a criar o ficheiro textt com o conteudo do ultimo TXT do directorio Textos2!!!Não os está a copiar todos para o ficheiro textt:(
Agora sim, funcionou direito…só mais uma duvidazinha!!!Como posso por espaço entre cada aqrquivo copiado???Tipo um \n???Para separar cada arquivo…onde coloco no programa???