Formar arquivo -> precisa ser FileWriter?

3 respostas
L

Oi pessoal.

Então…

preciso fazer um programa Java que pegue 4 arquivos txt, e crie um novo arquivo txt, concatenando o conteúdo dos outros arquivos.

Para fazer isso, eu precisarei usar FileReader, e depois FileWriter?
Ou então, há alguma outra maneira de fazer isso???

Grato!!!

3 Respostas

T

Basicamente é isso mesmo. Para acelerar a leitura e escrita dos arquivos, encapsule o FileReader em um BufferedReader, e o FileWriter em um BufferedWriter. Não tem mistério. Vou mostrar mais ou menos um exemplo bobo de uma cópia de arquivos.

import java.io.*;

...
BufferedReader br = null;
BufferedWriter bw = null;
try {
    br = new BufferedReader (new FileReader ("entrada.txt"));
    bw = new BufferedWriter (new FileWriter ("saida.txt"));
    for (String linha = br.readLine(); linha != null; linha = br.readLine())  {
        bw.writeLine (linha);
    }
} catch (IOException ex) {
    ex.printStackTrace();
} finally {
    if (br != null) try { br.close(); } catch (IOException ex) {}
    if (bw != null) try { bw.close(); } catch (IOException ex) {}
}
L

Excelente! Muito obrigado, funcionou bem legal!

Eu fiz algumas modificações, porque preciso colocar o conteúdo de vários TXT dentro de um novo TXT.

Porém, eu faço isso, mas acabo sobrescrevendo o arquivo. Não estou conseguindo escrever o conteúdo ao final do arquivo, mantendo o que já está lá.

O que será que estou fazendo errado??

S
new BufferedWriter(new FileWriter(filePath, true));

O file writer tem um parametro que indica se deve ser feito append ou nao.

Criado 22 de setembro de 2008
Ultima resposta 25 de set. de 2008
Respostas 3
Participantes 3