Duvida em ler e gravar arquivos .txt!

Gente tô com a seguinte dúvida: Ja aprendi o báisco em gravar e ler arquivos, mas queria saber como gravar em um arquivo sem sobrescrever o que ja se tem nele.

Tipo, crio uma lista para guardar os clientes de uma empresa, aí sempre que eu fecho o arquivo e depois vou adicionar mais um cliente ele sobrepõe o cliente ja existente, como posso tratar isso ?

abra o arquivo para leitura e escrita, leia a ultima posicao e grave apartir da ultima posicao.

publique seu codigo para nos vermos o que vc fez tbem

tks

File arquivo = new File(“nome do arquivo.extensao”,true);

esse True eh de append … ou seja o conteudo naum serah sobrescrito e o q for acrescentado serah acrescentado ao final do arquivo.

Assim, não to com o código agora, mas fiz esse aki mais simples que tah exemplificando o que fiz no outro:

[code] import java.io.*;

public class copiaTBO
{

public static void main(String[] args) throws Exception
{

	FileWriter writer = null;
	try
	{
		writer = new FileWriter("arquivos\copiaTBO.txt");
		PrintWriter saida = new PrintWriter(writer,true);
    
        String linha;
		FileReader ler = new FileReader("arquivos\tbo.txt");
		BufferedReader leitor = new BufferedReader(ler);

		PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("saida.txt")));

	    while((linha = leitor.readLine())!= null)
		{
			saida.println(linha);
			System.out.println(linha);
        }
		
		leitor.close();
		ler.close();

		saida.close();
		writer.close();
	}

	catch (IOException ex)
	{ }
}

}[/code]

Esse código copia um arquivo para outro, tenho o arquivo “tbo.txt”, e copio ele para o arquivo “copiaTBO.txt”, a cópia da certo, mas sempre sobrescreve o outro, eu queria que funcionasse da seguinte forma: copiaria a primeira vez, aí eles ficam identicos, quando eu executasse o código novamente o arquivo “copiaTBO.txt” ficaria com o conteúdo duplicado, e assim por diante… Como eu deveria fazer ?

Aê galera… to tentando e naum to conseguindo… alguém consegue me ajudar aí ? ? ?

Eu não sei se nessas classes que vc usa tem o recurso de append.
Mas o FileOutputStream tem fazer a troca por essa classe ao inves de PrintWriter

cara aonde ta tua class File? é ela que cria os arquivo e nao FileWriter ou PrinterWrinter(essa aqui so no java 5, que ela recebe como arg um file).


File f = new File("arq.txt");
try{
PrintWriter pw = new PrintWriter(f); // cria o arquivo

}catch(Exception e){}

Cara no seu código coloka soh mais um TRUE… assim…

writer = new FileWriter("arquivos\copiaTBO.txt", true);// True Aki
PrintWriter saida = new PrintWriter(writer,true);

Tenta ai

FileWriter writer = new FileWriter(txtDiretorio.getText(), true);
PrintWriter arquivoSalvar = new PrintWriter(writer, true);
			
arquivoSalvar.append("Texto a ser inserido na ultima linha");
arquivoSalvar.append(System.getProperty("line.separator"));
arquivoSalvar.flush();
arquivoSalvar.close();
writer.close();

Veja ai… isso eh pra funfar…

Abraços