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 ?
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 ?
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();