Warum liest mir das folgende Programm immer nur die letzte Zeile der Datei aus, und wie kann man das ändern?
MfG Bernd.
MfG Bernd.
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
/**
*
* Beschreibung.
*
* @version 1.0 vom 14.08.2004
* @author Bernd */
public class EZettel1 extends JFrame {
// Anfang Variablen
private JTextArea jta1 = new JTextArea("", 1, 1);
private JButton jbuspeichern = new JButton();
private String dname = "EZettel.txt";
private PrintWriter ausgabeDatei;
private BufferedReader eingabeDatei;
private String zeile;
private JButton jbuladen = new JButton();
// Ende Variablen
public EZettel1(final String title) {
// Frame-Initialisierung
super("Einkauf-Zettel");
addWindowListener(new WindowAdapter() {
public void windowClosing(final WindowEvent evt) { System.exit(0); } });
setBounds(10, 10, 400, 415);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jta1.setLineWrap(true);
jta1.setBounds(5, 40, 380, 300);
getContentPane().add(jta1);
jbuspeichern.setText("speichern");
jbuspeichern.setBounds(5, 350, 100, 25);
getContentPane().add(jbuspeichern);
jbuspeichern.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbuspeichernActionPerformed(evt); } });
jbuladen.setText("laden");
jbuladen.setBounds(110, 350, 100, 25);
getContentPane().add(jbuladen);
jbuladen.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbuladenActionPerformed(evt); } });
// Ende Komponenten
setVisible(true);
}
// Anfang Ereignisprozeduren
public void jbuspeichernActionPerformed(final ActionEvent evt) {
try {
ausgabeDatei = new PrintWriter(new FileWriter(dname, true));
ausgabeDatei.print(jta1.getText());
ausgabeDatei.close();
}
catch (IOException e) {
System.err.println("Dateifehler "+e.toString());
System.exit(1);
}
jta1.setText("");
}
public void jbuladenActionPerformed(final ActionEvent evt) {
try {
eingabeDatei = new BufferedReader(new FileReader(dname));
while ((zeile = eingabeDatei.readLine()) != null) {
jta1.setText(zeile);
}
eingabeDatei.close();
}
catch (Exception e) {
System.err.println("Fehler bei Datei "+e.toString());
System.exit(1);
}
}
// Ende Ereignisprozeduren
public static void main(final String[] args) {
new EZettel1("EZettel1");
}
}