FileWriter schreibt nicht in Datei

dubimax

Mitglied
Hallo, ich habe das Problem, dass wenn ich einen Button (Bestätigen) drücke, soll eigentlich ein Text (zum Testen das Wort "test") in eine txt Datei geschrieben werden.

Leider passiert dies nicht. Eine Fehlermeldung erscheint auch nicht.

Hier der Code, vllt. sieht ja jemand auf anhieb den Fehler und Danke im Voraus.

Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;


import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;


public class DialogUI {

	private JTextField dialogText;
	private JDialog _dialog;
	private JButton bestaetigung;
	private FileWriter fw;
	
	public DialogUI() {
		super();
		_dialog = initDialog();
		registriereUIAktionen();
	}

	private JDialog initDialog() {

		JDialog dialog = new JDialog((JFrame) null, "Eintragen", true);
		JPanel panel = new JPanel(new BorderLayout());
		bestaetigung = new JButton("Bestätigen");
		dialogText = new JTextField();
		dialog.add(panel);

		panel.add(dialogText, BorderLayout.NORTH);
		panel.add(bestaetigung, BorderLayout.SOUTH);

		dialog.setBounds(300, 200, 300, 200);
		dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		dialog.setVisible(true);

		return dialog;
	}

	public JDialog getDialog() {
		return _dialog;
	}

	public void setDialog(JDialog dialog) {
		this._dialog = dialog;
	}

	public String getDialogText() {
		return dialogText.getText();
	}

	public JTextField setDialogText(JTextField dialogText) {
		return this.dialogText = dialogText;
	}

	

	public JButton getBestaetigung() {
		return bestaetigung;
	}

	public void setBestaetigung(JButton bestaetigung) {
		this.bestaetigung = bestaetigung;
	}
	
	public void registriereUIAktionen(){
		
		final File file = new File("./woosa.txt");
		this.getBestaetigung().addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {

				
			
				try {
					fw = new FileWriter(file , false);
					fw.write("test");
					
					fw.close();

					
				} catch (IOException e1) {
					
					JOptionPane.showMessageDialog(null, "Fehler:", null, JOptionPane.ERROR_MESSAGE);
					//System.err.println( "Konnte Datei nicht erstellen" );
				}
				
			}
				
		});
	}
	
}
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
setz mal hinter das

Java:
fw.write("Hallo");

noch ein
Code:
fw.flush();

ansonsten mal im Catch block den stackTrace mit ausgeben lassen , ggf. wird die Datei nicht gefunden o.ä
[EDIT]
Immer den Qualifizierten Pfad angeben , das hier wird nicht funktionieren denk ich

Java:
 final File file = new File("./woosa.txt");

sprich

Java:
"C:/Dokumente/Mein Ordner/woosa.txt"

Ich vermute hier fliegt eine FileNotFoundException
[/EDIT]
 
Zuletzt bearbeitet:

dubimax

Mitglied
Moin KaoZ,

das fw.flush(); hatte ich bis jetzt immer mit dran, habe allerdings gelesen, dass das fw.close(); schon das flush() beinhaltet.

Hmm... mit dem Pfad, hab ichs grad mal probiert, bekomme da den selben stacktracefehler:

Code:
!ENTRY org.eclipse.jdt.ui 4 10001 2014-06-27 22:20:18.964
!MESSAGE Internal Error
!STACK 1
Java Model Exception: Java Model Status [Unknown javadoc format for getClass() [in Object [in Object.class [in java.lang [in C:\Program Files\Java\jre7\lib\rt.jar]]]]]
	at org.eclipse.jdt.internal.core.JavadocContents.getMethodDoc(JavadocContents.java:158)
	at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:671)
	at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:499)
	at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:93)
	at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:77)
	at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:62)
	at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:573)
	at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
!SUBENTRY 1 org.eclipse.jdt.core 4 1009 2014-06-27 22:20:18.964
!MESSAGE Unknown javadoc format for getClass() [in Object [in Object.class [in java.lang [in C:\Program Files\Java\jre7\lib\rt.jar]]]]
 

kaoZ

Top Contributor
Mal abgesehen das ich es ohne Probleme ausführen kann passiert halt nix beim Klick auf den Button , wie auch ^^
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
So....


Ich hab mir mal möglichst wenig aufwand gemacht:

Kopiere das mal und führe es aus

Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileWriter;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
 
 
public class DialogUI {
 
    private JTextField dialogText;
    private JDialog _dialog;
    private JButton button;
    private FileWriter fw;
    
    public DialogUI() {
        _dialog = initDialog();
    }
 
    private JDialog initDialog() {
 
        JDialog dialog = new JDialog((JFrame) null, "Eintragen", true);
        JPanel panel = new JPanel(new BorderLayout());
        button = new JButton("Bestaetigen");
        button.addActionListener(new ButtonListener());
        dialogText = new JTextField();
        dialog.add(panel);
 
        panel.add(dialogText, BorderLayout.NORTH);
        panel.add(button, BorderLayout.SOUTH);
 
        dialog.setBounds(300, 200, 300, 200);
        dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        dialog.setVisible(true);
 
        
        
        return dialog;
    }
 
    public JDialog getDialog() {
        return _dialog;
    }
 
    public void setDialog(JDialog dialog) {
        this._dialog = dialog;
    }
 
    public String getDialogText() {
        return dialogText.getText();
    }
 
    public JTextField setDialogText(JTextField dialogText) {
        return this.dialogText = dialogText;
    }

    class ButtonListener implements ActionListener{

		@Override
        public void actionPerformed(ActionEvent e) {
	       if(e.getActionCommand().equals("Bestaetigen")){
	    	   System.out.println("Hallo Welt");
	       }
        }
    	
    }
    
    public static void main(String[] args) {
	    new DialogUI();
    }
    
}

[TIPP]
1. Aussagekräftigere namen nutzen
2. wenn du schon von außen Listener setzen können wollen möchtest, dann musst du diese Funktionalität auch korrekt implementieren.
3. Ich habe hier den einfacheren weg über eine Innere Klasse gewählt welche das ActionListener Interface implementiert.
4. du hast zu viele überflüssige Methoden ........
5. Jede Klasse sollte eine Funktion erfüllen, ergo alles was da nicht rein gehört in Hilfsklassen auslagern, z.B das Schreiben der Daten
6. nutze shortcut returns für bessere übersichtlichkeit
[/TIPP]
 
Zuletzt bearbeitet:

dubimax

Mitglied
Hmm also hab da dann noch den FileWriter eingebaut und dann kommt folgendes:

Code:
!ENTRY org.eclipse.jdt.ui 4 10001 2014-06-27 22:34:48.399
!MESSAGE Internal Error
!STACK 1
Java Model Exception: Java Model Status [Unknown javadoc format for close() [in OutputStreamWriter [in OutputStreamWriter.class [in java.io [in C:\Program Files\Java\jre7\lib\rt.jar]]]]]
	at org.eclipse.jdt.internal.core.JavadocContents.getMethodDoc(JavadocContents.java:158)
	at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:671)
	at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:499)
	at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:93)
	at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:77)
	at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:62)
	at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:573)
	at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
!SUBENTRY 1 org.eclipse.jdt.core 4 1009 2014-06-27 22:34:48.399
!MESSAGE Unknown javadoc format for close() [in OutputStreamWriter [in OutputStreamWriter.class [in java.io [in C:\Program Files\Java\jre7\lib\rt.jar]]]]
 

kaoZ

Top Contributor
Code bitte , das scheint mir eher nach einem Problem mit deiner JRE oder IDE auszusehen

Weil , und hier mal ein Screen:

 
Zuletzt bearbeitet:

dubimax

Mitglied
Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class DialogUI {

	private JTextField dialogText;
	private JDialog _dialog;
	private JButton bestaetigung;
	private FileWriter fw;

	public DialogUI() {
		super();
		_dialog = initDialog();
		
		//registriereUIAktionen();
	}

	private JDialog initDialog() {

		JDialog dialog = new JDialog((JFrame) null, "Eintragen", true);
		JPanel panel = new JPanel(new BorderLayout());
		bestaetigung = new JButton("Bestaetigen");
		dialogText = new JTextField();
		dialog.add(panel);

		panel.add(dialogText, BorderLayout.NORTH);
		panel.add(bestaetigung, BorderLayout.SOUTH);

		dialog.setBounds(300, 200, 300, 200);
		dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		dialog.setVisible(true);

		return dialog;
	}

//	public void registriereUIAktionen() {
//
//		final File file = new File("./woosa.txt");
//		this.getBestaetigung().addActionListener(new ActionListener() {
//
//			@Override
//			public void actionPerformed(ActionEvent e) {
//
//				try {
//					fw = new FileWriter(file, false);
//					fw.write("test");
//
//					fw.close();
//
//				} catch (IOException e1) {
//
//					JOptionPane.showMessageDialog(null, "Fehler:", null,
//							JOptionPane.ERROR_MESSAGE);
//					// System.err.println( "Konnte Datei nicht erstellen" );
//					e1.getStackTrace();
//				}
//
//			}
//
//		});
//	}
	
	class ButtonListener implements ActionListener{
		 
        @Override
        public void actionPerformed(ActionEvent e) {
           if(e.getActionCommand().equals("Bestaetigen")){
        	   //final File file = new File("./woosa.txt");
        	   try {
					fw = new FileWriter(new File("C:/test.txt"));
					fw.write("test");
					fw.close();

				} catch (IOException e1) {

					JOptionPane.showMessageDialog(null, "Fehler:", null,
							JOptionPane.ERROR_MESSAGE);
					// System.err.println( "Konnte Datei nicht erstellen" );
					e1.getStackTrace();
				}
           }
        }
        
    }

	public JDialog getDialog() {
		return _dialog;
	}

	public void setDialog(JDialog dialog) {
		this._dialog = dialog;
	}

	public String getDialogText() {
		return dialogText.getText();
	}

	public JTextField setDialogText(JTextField dialogText) {
		return this.dialogText = dialogText;
	}

	public JButton getBestaetigung() {
		return bestaetigung;
	}

	public void setBestaetigung(JButton bestaetigung) {
		this.bestaetigung = bestaetigung;
	}
}
 

kaoZ

Top Contributor
Wenn du auch mit Angabe eines Voll Qualifizierten Pfades diese Fehlermeldung bekommst, und oder du diesen Fehler auch bekommst wenn du meine Code ausführst (mit einem von dir existierenden Pfad) würde ich in betracht ziehen ggf. mal das JRE neu aufzusetzen, ggf ist es ein Problem mit einem der .jar's oder so , scheint augenscheinlich zumindest darauf hin zu deuten .
 

dubimax

Mitglied
Moin,

so Problem gelöst. Hätte meine registriereUI() nicht im Konstruktor aufrufen dürfen sondern in meiner initDialog().

Nun läuft es einwandfrei auch mit meinem Code.

Vielen Dank für die Mühe und Zeit, die Ihr euch genommen habt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Filewriter schreibt einfach nicht Java Basics - Anfänger-Themen 6
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5
O Ausgabe als .txt Datei speichern mit FileWriter Java Basics - Anfänger-Themen 2
B FileWriter nicht sichtbar? Java Basics - Anfänger-Themen 4
D Methoden Filewriter macht keine Zeilenumbrüche Java Basics - Anfänger-Themen 3
Z FileWriter erzeugt Symbole Java Basics - Anfänger-Themen 8
C FileWriter bzw. Reader fehlerhaft Java Basics - Anfänger-Themen 6
C FileWriter Problem. Java Basics - Anfänger-Themen 2
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
D Nur aus Interesse: Warum verwendet man FileWriter.flush()? Java Basics - Anfänger-Themen 4
B FileWriter und JFileChooser zusammenfügen Java Basics - Anfänger-Themen 3
B FileWriter close() muss? Java Basics - Anfänger-Themen 8
Java-Insel Methoden FileWriter Methoden funktionieren nicht Java Basics - Anfänger-Themen 20
D Erste Schritte Warum try-catch für FileWriter Java Basics - Anfänger-Themen 5
G Effizienzsteigerung von FileWriter als Logging Java Basics - Anfänger-Themen 4
L FileReader und Filewriter Java Basics - Anfänger-Themen 4
O Datentypen double in string über fileWriter... Java Basics - Anfänger-Themen 7
O OOP fileWriter Dateiname übergeben Java Basics - Anfänger-Themen 12
R Klassen FileWriter und CharSet Java Basics - Anfänger-Themen 4
Luk10 FileWriter Java Basics - Anfänger-Themen 6
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
O Integer in File mit Filewriter schreiben - geht nicht richtig Java Basics - Anfänger-Themen 4
M Probleme mit FileWriter Java Basics - Anfänger-Themen 7
M FileWriter innerhalb runnable Jar Java Basics - Anfänger-Themen 8
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
C FileWriter mit einer Variable Java Basics - Anfänger-Themen 8
S FileWriter - in neue Zeile schreiben!? Java Basics - Anfänger-Themen 19
K FileWriter Speicherort Java Basics - Anfänger-Themen 7
T OOP Speichern mit BufferedWriter(FileWriter(File)) Java Basics - Anfänger-Themen 2
S FileWriter Java Basics - Anfänger-Themen 3
G FileWriter -> neue Zeile Java Basics - Anfänger-Themen 13
F Seltsame Zeichen und kein Zeichenumbruch mit Filewriter Java Basics - Anfänger-Themen 4
G FileWriter Java Basics - Anfänger-Themen 3
G FileWriter Java Basics - Anfänger-Themen 6
T FileWriter Java Basics - Anfänger-Themen 5
M FileWriter Java Basics - Anfänger-Themen 18
J Problem mit FileWriter Java Basics - Anfänger-Themen 24
N Schneller als FileWriter? Java Basics - Anfänger-Themen 28
B Problem mit Filereader und filewriter Java Basics - Anfänger-Themen 20
M FileWriter-Problem Java Basics - Anfänger-Themen 2
P FileWriter schreiben? Java Basics - Anfänger-Themen 4
L Streamklassen, Filewriter und StringBuffer Java Basics - Anfänger-Themen 2
D FileWriter write? Zeilenumbruch ? Java Basics - Anfänger-Themen 4
G Prüfen mit FileWriter Java Basics - Anfänger-Themen 6
N Problem mit FileWriter Java Basics - Anfänger-Themen 2
S FileWriter-Variable nicht initialisiert Java Basics - Anfänger-Themen 3
R FileWriter: Dort wieder anfangen, wo er aufgehört hat Java Basics - Anfänger-Themen 4
S FileWriter funzt nicht :( Java Basics - Anfänger-Themen 5
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
N wie schreibt man die neue for schleife? Java Basics - Anfänger-Themen 3
X Wann schreibt man diese Syntax zeichen { } Java Basics - Anfänger-Themen 8
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
D Input/Output Writer schreibt nicht in Subprozess Java Basics - Anfänger-Themen 3
B Erste Schritte Java IDE schreibt "(String[] args)" Java Basics - Anfänger-Themen 5
M BufferedWriter schreibt nur "?" oO Java Basics - Anfänger-Themen 6
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
K println schreibt nichts auf das Display Java Basics - Anfänger-Themen 3
M RandomAccessFile schreibt Sonderzeichen vor String Java Basics - Anfänger-Themen 2
J RandomAccessFile schreibt falsch Java Basics - Anfänger-Themen 2
B Wie schreibt ihr eure Programme? Klassenweise oder linear? Java Basics - Anfänger-Themen 10
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
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
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26

Ähnliche Java Themen

Neue Themen


Oben