Java Problem mit FileWriter

Dark-Blood

Software-Overclocker(in)
Hey Leute,
hoffe hier kann mir einer helfen:
Ich versuche eine Arraylist in eine Textdatei zu speichern.
Beim ersten mal ausführen funktioniert das auch wunderbar, aber jedes weitere mal ist einfach nur Murks ... ^^
Weis nicht warum der mir immer so nen Müll in die Textdatei schreibt:

Code:
import java.io.FileWriter;
import java.io.IOException;


public class Speichern 
{
	public static void save(String Path) throws IOException 
	{
		FileWriter  writer = new FileWriter(Path, true);
	    for(int i = 0; i < Oberfläche.in.size(); i++)
	    {
	    	writer.write(Oberfläche.in.get(i).getEnglisch() + "\r\n"); 
	    	writer.write(Oberfläche.in.get(i).getDeutsch() + "\r\n");
	    	writer.write(Oberfläche.in.get(i).getPriority() + "\r\n");
	    }
	    writer.flush();
	    writer.close();
	}
}

Dazu als Erklärung den Button der das ganze aufruft und das Objekt, welches in der Arraylist abgelegt wird:

Code:
		JMenuItem mntmSpeichern = new JMenuItem("Speichern");
		mnDatei.add(mntmSpeichern);
		mntmSpeichern.addActionListener(new java.awt.event.ActionListener() 
		{
            public void actionPerformed(java.awt.event.ActionEvent e) 
            {
                JFileChooser fc = new JFileChooser();
                int rückgabeWert = fc.showSaveDialog(null);
                
                if(rückgabeWert == JFileChooser.APPROVE_OPTION)
                {
                	String PathSave = fc.getSelectedFile().getPath();
                	try 
                	{
						Speichern.save(PathSave);
					} 
                	catch (IOException e1) 
                	{
						e1.printStackTrace();
					}
                }
            }
        });

Code:
public class Wortspeicher 
{
	private String Englisch; 
	private String Deutsch;
	private int Priority;
	
	public Wortspeicher(String Englisch, String Deutsch, int Priority)
	{
		this.Englisch = Englisch;
		this.Deutsch = Deutsch;
		this.Priority = Priority;
	}
	
	public String getEnglisch()
	{
		return this.Englisch;
	}
	
	public String getDeutsch()
	{
		return this.Deutsch;
	}
	public int getPriority()
	{
		return this.Priority;
	}

	public void setPriority(int i)
	{
		this.Priority = i; 
	}
}

Danke schon mal für eure Tipps ;)
 
Willst du die neuen Werte wirklich anhängen oder die Datei nur neu befüllen?

Was mich verwirrt, Umlaute in Objektnamen? *g*
 
Zurück