Inserir varios registro em arquivo de texto

galera a duvida eh a seguinte

tenho a seguinte funcao

public static void salvarDados(int id, String nome, String data) {
        File arq = new File(destino);
        try {
            FileWriter arquivo = new FileWriter(arq);
            BufferedWriter grava = new BufferedWriter(arquivo);
          grava.write(id);
          grava.write(";");
         grava.write(nome);
         grava.write(";");
        grava.write(data);
         grava.newLine();
            grava.close();
            arquivo.close();

        } catch (IOException e) {
            System.out.print("Erro 01 :" + e.toString());
        } catch (SecurityException erro2) {
            System.out.print("Erro 02 :" + erro2.toString());
        }
    }

dai chamo ela assim na minha main

for (int i = 0; i < files.size(); i++) {
            aux = migra.pegacaminho(files, i);
            retiraFim = aux.indexOf(find);
            aux = aux.substring(tam, retiraFim);

            String nome = aux.replaceAll("\\d", ""); // so o nome
            String data = aux.replaceAll("\\D", ""); // so a data
            migra.salvarDados(count,nome, data);
        //    System.out.println(data);
            count++;


        }

soh que gostaria que ela fosse gravando todos os dados no mesmo arquivo de texto, e dessa forma ela soh grava o ultimo no .txt
alguem sabe como corrigir esser problem?

vlws

galera resolvi o problema fikou assim

metodo que grava no arquivo

public static void salvarDados(String nome) {
        File arq = new File(destino);
        try {
            FileWriter arquivo = new FileWriter(arq);
            BufferedWriter grava = new BufferedWriter(arquivo);
          
          grava.write(nome);
        
            grava.close();
            arquivo.close();

        } catch (IOException e) {
            System.out.print("Erro 01 :" + e.toString());
        } catch (SecurityException erro2) {
            System.out.print("Erro 02 :" + erro2.toString());
        }
    }

e na main fiko assim

StringBuffer temp = new StringBuffer();

        for (int i = 0; i < files.size(); i++) {
            aux = migra.pegacaminho(files, i);
            retiraFim = aux.indexOf(find);
            aux = aux.substring(tam, retiraFim);

            String nome = aux.replaceAll("\\d", ""); // so o nome
            String data = aux.replaceAll("\\D", ""); // so a data
             //Buffer é mais rápido...
            temp.append(count + ";" + nome + ";" + data); // forma correta!
        
        //    System.out.println(data);
            count++;


        }
        String  dados = temp.toString();
        migra.salvarDados(dados);

pra quem precisar fika a dica

vlws

a forma acima deixa o a arquivo preenchido de forma sequencial, tipow…

adelia;jose;pedro;seilah

como faco para que fique assim

adelia
jose
pedro
seilah

vlws

já tentou contrabarra no append? :?:
Pode usar tb o método useDelimiter da classe Scanner passando um delimitador para quebrar o seu arquivo.