Es wird nichts in BufferedWriter geschrieben

itbuilder07

Mitglied
Morgen Forum,

zurzeit bin ich am programmieren einer Schablone.

Mein Problem bei dem Programm, wenn man auf ein Button klickt, erweitert sich die Schablone um
weitere Textfelder.

Das geschieht auch bei 2 weiteren Buttons.

Ich möchte das wenn der Benutzer auf ein Button, einmal oder mehrmals klickt soll der BufferedWriter die Schablone INTERN erweitern das er das in sein Speicher schreibt, sodass es später in eine TXT datei reingeschrieben wird.

Ich habe in einer anderen Klassen die Schablonen(funktioniert).

Was mache ich falsch, als ergebnis bekomme ich nur das das obere ausgegeben (g.satzart_zpk ...).

Ich hoffe ihr habt mein Problem verstanden :bahnhof:

Vielen Dank schonmal




Java:
			}
			try {

				final BufferedWriter w = new BufferedWriter(new FileWriter(file));

				w.write(g.satzart_zpk);
				w.write(g.zpkLfdNr.getText());
				w.write(g.zpkDavNr.getText());
				w.write(g.zpkSimKnz.getText());
				w.write(g.zpkVpsKnz.getText());
				w.write(g.zpkZwngAus.getText());

				w.newLine();

				gr.zpa.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						
						GUIright gr = GUIsave.this.owner.right;
						if(e.getSource() == gr.zpa){

//							zpaArray();
							GUIcenter g = GUIsave.this.owner.center;
							String  zpaArray[] = new String [5];
							zpaArray[0] = g.satzart_zpa;
							zpaArray[1] = g.zpaProNr.getText();
							zpaArray[2] = g.zpaKlSKuerzel.getText();
							zpaArray[3] = g.zpaGebFreiKnz.getText();
							zpaArray[4]	= g.zpaKeyHaupt.getText();
							
							for(int i=0; i < zpaArray.length; i++) {
								String writearray = zpaArray[i];
									try {
										w.write(writearray);
										w.newLine();
									} catch (IOException e1) {
										e1.printStackTrace();
									}

							}
						}
					}
				});

				w.flush();
				w.close();
			} catch (IOException e) {
				JOptionPane.showMessageDialog(null, "Fehler");
			}
		}
	}
	public void zpaArray(){
		GUIcenter g = GUIsave.this.owner.center;
		String  zpaArray[] = new String [5];
		zpaArray[0] = g.satzart_zpa;
		zpaArray[1] = g.zpaProNr.getText();
		zpaArray[2] = g.zpaKlSKuerzel.getText();
		zpaArray[3] = g.zpaGebFreiKnz.getText();
		zpaArray[4]	= g.zpaKeyHaupt.getText();
	}
}
 
Also ich habe ein wenig herumgespielt mit dem und dieses Phänomen tritt bei mir auch auf, aber wenn du gleich nach deinen writes ein flush einfügst gehts dann.
 
Also ich habe ein wenig herumgespielt mit dem und dieses Phänomen tritt bei mir auch auf, aber wenn du gleich nach deinen writes ein flush einfügst gehts dann.


Wie jetzt :idea:?

Bei mir ist das Problem das er nicht mal in den ActionListener reingeht

Java:
gr.zpa.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						GUIcenter g = GUIsave.this.owner.center;
						String zpaArray[] = new String[5];
						zpaArray[0] = g.satzart_zpa;
						zpaArray[1] = g.zpaProNr.getText();
						zpaArray[2] = g.zpaKlSKuerzel.getText();
						zpaArray[3] = g.zpaGebFreiKnz.getText();
						zpaArray[4] = g.zpaKeyHaupt.getText();
						for (int i = 0; i < zpaArray.length; i++) {
							String writearray = zpaArray[i];
							try {
								w.write(writearray);
								w.flush();
								w.newLine();
							} catch (IOException e1) {
								e1.printStackTrace();
							}
						}
					}
				});

In diesen Bereich kam er bei dir rein :O

Bei mir geht er nämlich rein, wenn ich auf den button klicke
 
Zuletzt bearbeitet:
Also ich habe nicht dein CodeSnippet verwendet, da es kein KSKB ist und somit habe ich mir was selbst gebastelt um zu sehen, wie der BufferedWriter funktioniert (wie auch in der Überschrift geschrieben).

Also es ist ersichtlich das du deinen Writer schon schließt bevor überhaupt etwas geschrieben werden kann.
[JAVA=44]
w.flush();
w.close();[/code]

Um Abhilfe zu schaffen mach ein Feld aus deinem Writer und schließe ihn wenn das Fenster/Anwendung geschlossen ist.
 

Zurück
Oben