Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft

U

uhFarren

Mitglied
Hallo zusammen,
momentan befasse ich mich mit dem Aus- und Einlesen von Textdatein mittels einer GUI. Die GUI mit jeweils einen Schreiben-, Lesen- und Beenden- Buttons sowie jeweils ein Textfeld (Eingabefeld) und ein Textarea(Ausgabefeld), habe ich mittels des Netbeans GUI Builder erstellt.

Ziel des Programms soll es sein in eine festgelegte Datei neue Zeilen mit Inhalt schreiben zu können sowie den Inhalt der Datei wieder auslesen zu können.
Das Programm funktioniert an sich, ABER da hat sich iwie ein Fehler eingeschlichen den ich mir einfach nicht erklären kann:
Schreibe ich z.B. mehrere Zeilen mittels meines Schreiben Buttons in die Datei nd betätige dann den Lesen Button, wird mir die Datei korrekt ausgelsen und ausgegeben.
1.png

Wenn ich nun aber wieder eine Zeile hinzufügen lasse, wird beim anschließendem Betätigen des Lesen Buttons, anstatt der letzten eingegebenen Zeile (Zeile sechs) wieder die erste Zeile angegeben. (In der Textdatei selbst ist jedoch alles richtig)
2.png



Edit: Beim Benutzen des Lesen-Buttons wird der Inhalt im Textarea erst gelöscht, dann die Zeilen in der Datei erneut ausgelsen und im Textarea ausgegeben.
Mein Code:
Java:
import java.io.*;
import java.util.ArrayList;

public class GUI_HUI extends javax.swing.JFrame {

ArrayList<String> Auslesen=new ArrayList<String>();

File Datei=new File("Lieferant.txt");
    /**
     * Creates new form GUI_HUI
     */
    public GUI_HUI() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                       
    private void initComponents() {

        opMeldung = new javax.swing.JOptionPane();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        tfEingabe = new javax.swing.JTextField();
        btSchreiben = new javax.swing.JButton();
        btLesen = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        taAusgabe = new javax.swing.JTextArea();
        btBeenden = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Arial", 1, 24)); // NOI18N
        jLabel1.setText("Datei auslesen/schreiben");

        jLabel2.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        jLabel2.setText("Text");

        tfEingabe.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N

        btSchreiben.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btSchreiben.setText("Schreiben");
        btSchreiben.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btSchreibenActionPerformed(evt);
            }
        });

        btLesen.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btLesen.setText("Lesen");
        btLesen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btLesenActionPerformed(evt);
            }
        });

        taAusgabe.setColumns(20);
        taAusgabe.setRows(5);
        jScrollPane1.setViewportView(taAusgabe);

        btBeenden.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        btBeenden.setText("Beenden");
        btBeenden.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btBeendenActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(148, 148, 148)
                .addComponent(jLabel1)
                .addContainerGap(99, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(btBeenden)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 374, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addGap(36, 36, 36)
                        .addComponent(tfEingabe, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(btSchreiben)
                        .addGap(18, 18, 18)
                        .addComponent(btLesen)))
                .addGap(50, 50, 50))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addGap(33, 33, 33)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(tfEingabe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btSchreiben)
                    .addComponent(btLesen))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btBeenden)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                     

    private void btBeendenActionPerformed(java.awt.event.ActionEvent evt) {                                       
       System.exit(0);
    }                                      

    private void btSchreibenActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try{
        FileWriter fw=new FileWriter(Datei,true);
     
         String eingabe=tfEingabe.getText();
         fw.write(eingabe+"\n");
         fw.close();
        tfEingabe.setText("");
        taAusgabe.setText("");
        }
        catch(IOException e){
        opMeldung.showMessageDialog(null,"Fehler beim Schreiben.");
        }
    }                                        

    private void btLesenActionPerformed(java.awt.event.ActionEvent evt) {                                     
       try{
           taAusgabe.setText("");
           FileReader fr=new FileReader(Datei);
           LineNumberReader lnr=new LineNumberReader(fr);
           int zähler=0;
                try{
                      while(lnr.ready()==true){
                  
                      Auslesen.add(lnr.readLine());
                      taAusgabe.append(Auslesen.get(zähler)+"\n");
                   
                      zähler++;
                      }
                fr.close();
                }
                catch(IOException e){
                opMeldung.showMessageDialog(null,"Fehler beim Auslesen!");
                }
             
       }
        catch(IOException e){
        opMeldung.showMessageDialog(null,"Fehler beim Lesen!");
        }
     
    }
Vlt kann mir einer von euch auf die Sprünge helfen.
 
M

max40

Bekanntes Mitglied
du hast vergessen Auslesen leer zu machen bei btLesenActionPerformed
Java:
    private void btLesenActionPerformed(java.awt.event.ActionEvent evt) {                                   
       try{
           taAusgabe.setText("");
           Auslesen.clear();   // <----- fehlt
           FileReader fr=new FileReader(Datei);
          ....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11
F Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast Java Basics - Anfänger-Themen 4
D Wiederholende Ausgabe Java Basics - Anfänger-Themen 3
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5
S Doppel For Schleife mit Arrays - Problem bei der Ausgabe Java Basics - Anfänger-Themen 4
A Erste Schritte Ausgabe eines compare Programms Java Basics - Anfänger-Themen 4
I Input/Output System.out Ausgabe aktualisieren, ohne Konsole vollzuspamen Java Basics - Anfänger-Themen 2
D Input/Output ArrayList ausgabe Java Basics - Anfänger-Themen 4
B toString mit optionaler Ausgabe überrschreiben Java Basics - Anfänger-Themen 5
D Auswahl und Ausgabe erstes Programm Java Basics - Anfänger-Themen 8
I Ausgabe von Arrays Java Basics - Anfänger-Themen 2
W Wie lasse ich meine Ausgabe nach dem Lesen verschwinden ? Java Basics - Anfänger-Themen 1
karlmasutra Ausgabe in ein Array schreiben Java Basics - Anfänger-Themen 14
L Scanner Ausgabe Java Basics - Anfänger-Themen 37
L Input/Output Wieso kommt diese Ausgabe? Java Basics - Anfänger-Themen 12
G Methode liefert "Min@15db9742" als Ausgabe Java Basics - Anfänger-Themen 2
S Vergleich zweier ArrayLists mit Ausgabe an dritte ArrayList Java Basics - Anfänger-Themen 5
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
T Input/Output Leerzeilen in Ausgabe -> finde den Fehler nicht Java Basics - Anfänger-Themen 10
L Reihenfolge Ausgabe Java Basics - Anfänger-Themen 5
L Variablen CharArray Ausgabe - Buchstabensalat Java Basics - Anfänger-Themen 5
T Vergleich und Ausgabe von Zahlen Java Basics - Anfänger-Themen 1
M Ausgabe einer kleinen Aufgabe Java Basics - Anfänger-Themen 2
N Datei Zeilenweise einlesen, Ausgabe mehrere Arrays Java Basics - Anfänger-Themen 7
O Ausgabe als .txt Datei speichern mit FileWriter Java Basics - Anfänger-Themen 2
M Erste Schritte Doppelte Ausgabe? (JList) Java Basics - Anfänger-Themen 1
Henri Die Ausgabe stimmt leider nicht Java Basics - Anfänger-Themen 9
D Array Ausgabe Java Basics - Anfänger-Themen 2
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 13
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 1
D Java-Ausgabe Java Basics - Anfänger-Themen 2
S Ausgabe gibt nur Arrayadresse aus... Java Basics - Anfänger-Themen 4
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
E Input/Output Switch ausgabe anpassen bzw. anders darstellen Java Basics - Anfänger-Themen 13
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
J Spezielle Ausgabe Formatierung Java Basics - Anfänger-Themen 4
E Frage über Speichern und Ausgabe Java Basics - Anfänger-Themen 7
MrDramasetter Ausgabe Java Basics - Anfänger-Themen 6
M Ausgabe eines Arrays auf Label (Javafx) Java Basics - Anfänger-Themen 4
J Verstehe meine HashSet Ausgabe nicht Java Basics - Anfänger-Themen 5
Khorgoroth Erste Schritte Keine Ausgabe Java Basics - Anfänger-Themen 2
C Binärbaum mit grafischer Ausgabe Java Basics - Anfänger-Themen 0
F String length nicht gleich der Ausgabe Java Basics - Anfänger-Themen 10
H Ausgabe nach 20sek und eventuell unterbrechen Java Basics - Anfänger-Themen 2
K Input/Output Doppelte Ausgabe Java Basics - Anfänger-Themen 5
D Ausgabe einer Matrix mit System.out.println Java Basics - Anfänger-Themen 6
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
Z Ausgabe: Anzahl Sterne, danach verringern Java Basics - Anfänger-Themen 7
Henri keine Ausgabe Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben