TextField-Inhalt mit Button in .txt-Datei speichern

xzlukas_

Mitglied
Hallo,
Ich versuche mit einem Button den Inhalt von TextFields in eine .txt-Datei zu speichern

Hier der Code von dem Button zum Speichern:
Code:
button1.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
              try {
                    boolean append = true;
                    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", append)));
                    out.println(textbox1.getText());
                    out.println(textbox2.getText());
                    out.println(textbox3.getText());
                    out.println(textbox4.getText());
                    out.println(textbox5.getText());
                    out.println(textbox6.getText());
                    out.close();
                } catch (IOException e1) {
                }
          }
        });

Wenn ich das Programm jetzt starte, die Textfelder fülle und den Button drücke passiert nichts und ich finde den Fehler in meinem Code nicht. Kann jemand meinen Code korrigieren oder mir sagen was ich falsch gemacht habe und mir erklären wie ich es korrigiere?

Wenn der restliche Code benötigt wird einfach fragen!
 

Robat

Top Contributor
Entweder PrinterWriter#flush aufrufen, oder im Konstruktor vom PrintWriter als letztes Argument true übergeben.
 

xzlukas_

Mitglied
oder im Konstruktor vom PrintWriter als letztes Argument true übergeben.
Mache ich das nicht bereits hier?
Code:
boolean append = true;
                    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", append)));
Also ich habe ja diese boolean-variable der ich den wert true gegeben habe.

Und wo müsste ich flush hin schreiben? vor oder hinter dem Schreiben?
 

Robat

Top Contributor
Nein der boolean muss beim PrintWriter in den Konstruktor. Warum hast du eigentlich so ein komisches Konstrukt? new PrintWriter(new FileWriter(File), true); würde doch ausreichen. Wozu der BufferedWriter zwischendrin?
 

xzlukas_

Mitglied
Wozu der BufferedWriter zwischendrin?
Den Writer hab ich von nem anderen Beitrag in diesem Forum da ich versucht habe mein Problem erst so zu lösen.

Ich habe den Code jetzt wie du gesagt hast angepasst und er funktioniert jetzt. Kannst du mir auch verraten wie ich den Inhalt einer Textdatei (Der Name der Textdatei ist Variabel also am besten mit einem Auswahlfenster) wieder in die Textboxen lade?
 

Robat

Top Contributor
"Auswahlfenster => JFileChooser für Swing oder FileChooser für JavaFX
Naja du liest die Datei ein und musst den Inhalt irgendwie auswerten. Wie kommt auf den Inhalt an.
 

xzlukas_

Mitglied
Ich will die Datei zeilenweise auslesen
meine txt-Datei sieht ca. so aus

123
1234
12345
123456
1234567
12345678

und ich will das Zeile 1 in TextField1, Zeile 2 in TextField 2 usw. geladen wird.
Wie genau mache ich das?
 

Robat

Top Contributor
Naja du liest die Datei zeilenweise ein und packst dann jeweils die Zeile n in TextField n mit setText(String). Sollten die TextFields in nem Array o.ä. gespeichert sein, kann man das ganze natürlich noch etwas generischer machen.
 

Robat

Top Contributor
Sollten zum Zeitpunkt des Einlesens noch keine TextFields existieren, kannst du natürlich auch pro eingelesene Zeile ein Textfield erstellen, dort den Text setzen und es der GUI hinzufügen.
 

xzlukas_

Mitglied
Code:
button3.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             JFileChooser datei = new JFileChooser();
             int returnVal = datei.showOpenDialog(getComponent(0));
          }
        });

Das ist bis jetzt mein Button zum laden wie bekomme ich jetzt den Dateipfad damit ich dem Reader sagen kann wo er die Datei findet die er lesen soll

die infos zum erstellen meines FileChoosers habe ich hierher:
https://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html
 

xzlukas_

Mitglied
Code:
button3.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             JFileChooser datei = new JFileChooser();
             int returnVal = datei.showOpenDialog(getComponent(0));
            
             BufferedReader in;
            try {
                in = new BufferedReader(new FileReader(datei.getSelectedFile()));
            } catch (FileNotFoundException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            }

             String line;
            try {
                line = in.readLine();
                textbox1.setText(line);
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            
             textbox1.setText(line);
          }
        });

Ich weiß nicht wie ich diesen Fehler korrigiere.
 

Robat

Top Contributor
Du liest momentan auch nur eine Zeile ein. Schau dir noch mal ein Beispiel an, wie man eine Datei komplett einliest
 

xzlukas_

Mitglied
Ich finde kein Beispiel alle Beispiele die ich bisher gefunden habe sehen so aus. Wie kann ich dem Reader sagen das er z.B. in eine 2. Variable den Inhalt von Zeile 2 schreibt?
 

xzlukas_

Mitglied
ok Habe das Problem gelöst Mein LoadButton sieht jetzt so aus:
Code:
button3.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             JFileChooser datei = new JFileChooser();
             int returnVal = datei.showOpenDialog(getComponent(0));
            
             BufferedReader in;
            try {
                in = new BufferedReader(new FileReader(datei.getSelectedFile()));
                String line1 = in.readLine();
                String line2 = in.readLine();
                String line3 = in.readLine();
                String line4 = in.readLine();
                String line5 = in.readLine();
                String line6 = in.readLine();
                textbox1.setText(line1);
                textbox2.setText(line2);
                textbox3.setText(line3);
                textbox4.setText(line4);
                textbox5.setText(line5);
                textbox6.setText(line6);
            } catch (FileNotFoundException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            
            
          }
        });
ist zwar unübersichtlich aber funktioniert!

Danke für deine Hilfe Robat! :)
 

Robat

Top Contributor
Es wäre "schöner" die Textboxen in einer Liste abzuspeichern.
Dann könntest du auch sowas machen.

Java:
try(BufferedReader in = new BufferedReader(new FileReader(datei.getSelectedFile()))) {
    String line = "";
    List<String> lines = new ArrayList<>();
    while((line = in.readLine()) != null) {
        lines.add(line);
    }
    for(int i = 0; i < textboxes.size(); i++) {
         textboxes.get(i).setText(lines.get(i));    
    }
} catch(IOException e) {
   e.printStackTrace();
}
Oder mit Java 8:
Java:
try(BufferedReader in = new BufferedReader(new FileReader(datei.getSelectedFile()))) {
    List<String> lines = in.lines().collect(Collectors.toList());
    IntStream.range(0, textboxes.size()).forEach(i -> textboxes.get(i).setText(lines.get(i)));
} catch(IOException e) {
   e.printStackTrace();
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
C TextField überwachen und Inhalt verlgleichen Java Basics - Anfänger-Themen 3
G Inhalt Textfield in SQL Statement klappt nicht. Java Basics - Anfänger-Themen 2
M TextField inhalt in int umwandeln Java Basics - Anfänger-Themen 9
B TextField Inhalt auslesen Java Basics - Anfänger-Themen 5
A Kapazität JavaFX TextField Java Basics - Anfänger-Themen 4
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
T TextField Breite automatisch gebunden Java Basics - Anfänger-Themen 8
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
O TextField in GridPane beschränken Java Basics - Anfänger-Themen 5
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
I TextField Array mit for Loop erzeugen Java Basics - Anfänger-Themen 4
M Textfield Problem Java Basics - Anfänger-Themen 2
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
A GUI Programmierung mit Textfield Java Basics - Anfänger-Themen 3
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
S Textfield KeyPressed Java Basics - Anfänger-Themen 2
D Textfield im Game ,Problem: while-Schleife Java Basics - Anfänger-Themen 1
G TextField befüllen Java Basics - Anfänger-Themen 3
fLooojava OOP Übergabe/Output in Textfield Java Basics - Anfänger-Themen 4
A Maximale zeichenanzahl im TextField? Java Basics - Anfänger-Themen 4
G Klassen Von Logik auf TextField in der GUI zugreifen Java Basics - Anfänger-Themen 14
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
T NetBeans - Int in Textfield Java Basics - Anfänger-Themen 11
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
M TextField Nullpointer Exc Java Basics - Anfänger-Themen 8
L Erste Schritte Wenn Textfield.Text = ... dann Java Basics - Anfänger-Themen 16
S Wie überprüfen das in Textfield nur Hexadezimal ist? Java Basics - Anfänger-Themen 4
J Datentypen Textfield.getText() liefert keinen String Java Basics - Anfänger-Themen 4
R Viereck zeichnen über TextField-Eingabe /ActionListener Java Basics - Anfänger-Themen 9
C textfield zeilenumbruch Java Basics - Anfänger-Themen 2
D Textfield Problem Java Basics - Anfänger-Themen 3
A TextField + Label = ? Java Basics - Anfänger-Themen 7
K TextField zeigt nicht an Java Basics - Anfänger-Themen 4
S Nummerisches TextField Java Basics - Anfänger-Themen 2
B nur Zahlen in Textfield eingeben Java Basics - Anfänger-Themen 4
G TextField auf null überprüfen Java Basics - Anfänger-Themen 5
G TextField in der for-schleife ansprechen Java Basics - Anfänger-Themen 2
N Wie schreibe ich in den Textfield? Java Basics - Anfänger-Themen 3
N Cursorfarbe im Textfield setzen Java Basics - Anfänger-Themen 2
K Ein Textfield Löschen ? Java Basics - Anfänger-Themen 16
K Daten aus einem Textfield lesen ? Java Basics - Anfänger-Themen 4
G einlasen aus TextField, nullpointerException? Java Basics - Anfänger-Themen 8
D Probleme mit TextArea und Textfield Java Basics - Anfänger-Themen 27
gurgi Textfield Java Basics - Anfänger-Themen 3
G TextField auslesen Java Basics - Anfänger-Themen 13
G Textfield Java Basics - Anfänger-Themen 6
M Textfield in URL Java Basics - Anfänger-Themen 2
G textfield überdeckt alles Java Basics - Anfänger-Themen 3
M TextField Java Basics - Anfänger-Themen 3
B auslesen eines textfield und probleme mit button Java Basics - Anfänger-Themen 13
C Schriftgröße in einem TextField ändern Java Basics - Anfänger-Themen 4
F Problem bei TextField (nicht JTextField) Java Basics - Anfänger-Themen 4
F Textfield Problem Java Basics - Anfänger-Themen 4
H UDP Empfangen----> Ausgeben im TextField Java Basics - Anfänger-Themen 3
R Probleme mit ungefülltem TextField Java Basics - Anfänger-Themen 4
U textfield Java Basics - Anfänger-Themen 7
M Einträge einer .txt-Datei in einem TextField ausgeben lassen Java Basics - Anfänger-Themen 8
J TextField, das nur Integer zulässt ? Java Basics - Anfänger-Themen 4
N Text im TextField rechtsbündig? Java Basics - Anfänger-Themen 2
S Fehlermeldung Cant convert java.awt.TextField to int Java Basics - Anfänger-Themen 12
G Größe eines TextField bestimmen Java Basics - Anfänger-Themen 4
G wieso muss Textfield final sein? Java Basics - Anfänger-Themen 6
N Zahlen aus Textfield ausesen Java Basics - Anfänger-Themen 15
P Textfield zusammmen fassen Java Basics - Anfänger-Themen 2
C removeAll() - TextField Java Basics - Anfänger-Themen 3
R Cursor auf TextField Java Basics - Anfänger-Themen 4
C TextField problem Java Basics - Anfänger-Themen 5
G Wert in TextField ausgeben? Java Basics - Anfänger-Themen 6
M Textfield.SetText?Textfield.addText? Java Basics - Anfänger-Themen 6
D if (event.target instanceof TextField) Java Basics - Anfänger-Themen 2
N TextField positionieren Java Basics - Anfänger-Themen 7
M Textfield String einlesen und an socketclient verschicken Java Basics - Anfänger-Themen 12
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
I String ersetzen, der Inhalt enthält Java Basics - Anfänger-Themen 4
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
J Datentypen CSV to DB Leere Zellen in CSV mit Inhalt? Java Basics - Anfänger-Themen 11
H Universitätsaufgabe String inhalt Kontrollieren Java Basics - Anfänger-Themen 9
karlmasutra OOP Inhalt eines Array ausgeben lassen Java Basics - Anfänger-Themen 8
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
L Namensliste mit Array zeigt nicht den gewünschten Inhalt Java Basics - Anfänger-Themen 12
F Variablen JTextField-Inhalt kann nicht mit String abgeglichen werden Java Basics - Anfänger-Themen 2
Zeekay Development Methoden Methoden Inhalt Abhängig vom Objekt? Java Basics - Anfänger-Themen 9
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
M Ordner mit Inhalt löschen Java Basics - Anfänger-Themen 7
R getrennte Objekte aus Klasse erstellen : warum Inhalt dann gleich ? Java Basics - Anfänger-Themen 2
Silvascus Inhalt eines externen Textdokuments an einen String übergeben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben