Gravar arquivos .txt

Estou com problemas para gravar arquivos .txt, sou iniciante em java e estou fazendo um trabalho que tem que criar este tio de arquivo ao cadastar, no meu caso (Candiadtos e Eleitores).Bem o prolema e o seguinte, milha classe grava somente um cadastro, ao pedir para cadastar outro e cadastra por cima do primeiro. aqui esta o codigo dele para melhor compreensão.

então ja tentei de tudo, oque eu queria e q quanto clicar no buttonO ele gravasse os dados!!!

package Tela;
import Objeto.Candidatos;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.RandomAccessFile;

public class TelaC2 extends Frame implements ActionListener,ItemListener{
private ObjectOutputStream saida;
private Button buttonO;
private Button button5;
private TextField textField1;
private TextField textField2;
private TextField textField3;
private TextField textField4;
private Label label1;
private Label label2;
private Label label3;
private Label label4;
private Checkbox checkBox1;
private Checkbox checkBox2;
private CheckboxGroup group;
TelaC1 P;
private Candidatos inicio;
private Candidatos fim;
public TelaC2(){
super(“CADASTRO:”);
setBackground(new Color(90,200,204));
setSize(400,200);
setLocation(90,90);
setLayout(null);
setVisible(true);
addWindowListener(new FechaTela());
buttonO=new Button(“OK”);
buttonO.setLocation(300,150);
buttonO.setSize(60,20);
buttonO.isVisible();
buttonO.addActionListener(this);
add(buttonO);
button5=new Button("<==VOLTAR");
button5.setLocation(15,165);
button5.setSize(80,20);
button5.isVisible();
button5.addActionListener(this);
add(button5);
textField1= new TextField("");
textField1.setLocation(90,50);
textField1.setSize(200,20);
textField1.isVisible();
add(textField1);
textField2=new TextField("");
textField2.setLocation(90,75);
textField2.setSize(100,20);
textField2.isVisible();
add(textField2);
textField3=new TextField("");
textField3.setLocation(90,100);
textField3.setSize(100,20);
textField3.isVisible();
add(textField3);
label1=new Label(“NOME:”);
label1.setLocation(32,50);
label1.setSize(40,20);
label1.isVisible();
add(label1);
label2=new Label(“NUMERO:”);
label2.setLocation(15,75);
label2.setSize(68,20);
label2.isVisible();
add(label2);
label3=new Label(“PARTIDO:”);
label3.setLocation(15,100);
label3.setSize(68,20);
label3.isVisible();
add(label3);
label4=new Label(“DIGITE OS DADOS:”);
label4.setLocation(20,20);
label4.setSize(350,20);
label4.setForeground(new Color(206,0,0));
label4.setFont(new java.awt.Font(“Arial Narrow”, 1, 14));
label4.isVisible();
add(label4);
group= new CheckboxGroup();
checkBox1= new Checkbox(“MACULINO”,group,false);
checkBox1.setLocation(90,130);
checkBox1.setSize(80,20);
checkBox1.isVisible();
checkBox1.addItemListener(this);
add(checkBox1);
checkBox2= new Checkbox(“FEMININO”,group,false);
checkBox2.setLocation(175,130);
checkBox2.setSize(85,20);
checkBox2.isVisible();
checkBox2.addItemListener(this);
add(checkBox2);
this.inicio = null;
this.fim = null;
}
public void actionPerformed(ActionEvent e){

    if(e.getSource()==buttonO){
    try{
        RandomAccessFile arq=new RandomAccessFile("dados.txt","rw");
        do{
        arq=new RandomAccessFile("dados.txt","w");
        arq.writeBytes(""+textField1.getText()+" "+textField2.getText()+" "+textField3.getText()+"\n");
        }while(arq.readLine().compareToIgnoreCase("\n")==0);
    }catch(IOException exc){
        textField1.setText("Erro!!!"+exc.toString());    
        }
    }
    else if(e.getSource()==button5){
         P=new TelaC1();
         P.setVisible(true);
         setVisible(false);
    }            
}
	public void insere(Candidatos r){
	if(this.inicio==null){
		this.inicio = this.fim=r;
	}
	else{
		//this.fim.setProx(r);
		this.fim = r;
	}
}
public void itemStateChange (ItemEvent e){
         if(e.getSource()==checkBox1){
         }
         else if(e.getSource()==checkBox2){
         }
}
public void itemStateChanged(ItemEvent e) {
    throw new UnsupportedOperationException("Not supported yet.");
}
    public static void main(String args[]){
    TelaC2 tC2=new TelaC2();        
}

}

amigo, hehehe, eu tava tao feliz, achei q ia resolver seu problema…hehehehe, mas nunca useo a classe RandomAccessFile.
Mas vo te perguntar, pq vc n tenta isso aki

http://www.guj.com.br/java.artigo.13.1.guj

aki tem um exemplo q ajudar

public static void main(String[] args) {
		for (int i = 0; i < 4; i++) {
			File file = new File("dados.txt");
			FileWriter fw;
			try {
				fw = new FileWriter(file, true);
				PrintWriter pw = new PrintWriter(fw, true);
				pw.println("teste "+i);
				pw.println("Mais um teste "+i);
				pw.println();
				pw.close();
				fw.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

não quero q faça para mim, essa não e minha intensão mas gostaria de sabe oq faz ou oq esta de errado na minha classe!!
valeww!!!

[quote=thiago.n.vieira]não quero q faça para mim, essa não e minha intensão mas gostaria de sabe oq faz ou oq esta de errado na minha classe!!
valeww!!![/quote]

aff cara, malz aew, achei que eu tava ajudando.
Entao n vo poder ajudar, nunca usei esse metodo.

desculpa

cara se vc nao quer abrir mao do RandomAccessFile, uma solucao pode ser essa:

		RandomAccessFile arq = new RandomAccessFile("dados.txt", "rw");
		FileReader reader = new FileReader(new File("dados.txt"));
		BufferedReader leitor = new BufferedReader(reader);
		String linha = null;
		while((linha = leitor.readLine())!= null){				 
			 arq.writeBytes(linha+"\n");				
		}	
		arq.writeBytes("123\n");	

lembrando que existem outras classes ao inves de RandomAccessFile, que te dariam a possibilidade de incluir no arquivo txt e nao sobrescrever como esta sendo feito

[]s

Bom, mas quais são esta classe como vc pode ver não um bom entedimento sobre o assunto vc poderia me mostra quais são elas???