.jar Datei führt den Code nicht richtig aus

Hallo, ich bin neu hier im Forum (Und bei Java) und weis nicht, ob ich hier im Richtigen Forum bin.

Mein Problem: ich habe ein Programm geschrieben, Welches nach der Eingabe eine.txt Datei erstellen soll mit den eingegebenen Daten. Das funktioniert aber nur, wenn ich den Code kompiliere und danach mittels: "java Programm" öffne. Wenn ich Das Programm über die War öffne, lässt es sich ganz normal ausführen, aber es erstellt die Datei nicht.



Es wäre cool, wenn jemand da eine Idee hätte, warum das nicht funktioniert.
 
Zuletzt bearbeitet:

LimDul

Top Contributor
Ohne Code ist es nur rumraten.

Außerdem war oder jar?

Gibt es Fehlermeldungen auf der Konsole? Was man nie im Code tun sollte, Exceptions schlucken, sondern immer weiterwerfen / ausgeben / protokollieren oder sinnvolle behandeln.

Hauptursache ist in der Regel ein nicht korrektes zusammenbauen von Pfaden bzw. Zugriff auf Resourcen, was nicht mehr funktioniert wenn man es im JAR macht - aber das ist in der Regel beim lesen das Problem.

Sinnvoll wäre es den Code, der die Datei schreibt zu zeigen.
 
Oh, es sollte jar sein. Nicht war. Die blöde Autokorrektur. ich habe den code einfach mal unten einkopiert.

Fehler werden keine Angezeigt.


JOptionPane.showMessageDialog(null, "Ihr ergebnis lautet: " + ergebnis, "Ergebnis", 1);



try {
File file = new File("Quadratmeterpreise"); //Datei, in die geschrieben werden soll
boolean neu = false;
if (!file.exists()) {
file.createNewFile();
neu = true;
}
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("Preise.txt", true)); //Erzeugen eines effizienten Writers für Textdateien
if(!neu) {
writer.write("\n");
}
writer.write("Für das Objekt: " + Objekt);
writer.newLine();
writer.write("gilt ein Quadratmeterpreis von: " + qmPreis);
writer.write("Gesamt Preis: "+ ergebnis );
writer.newLine();
writer.close();
}
catch(IOException ioe) {
System.err.println(ioe);
}
}
catch(IOException ioAusnahme) {
System.out.println("Fehler beim öffnen der Datei!");
}
}
}
 

Jw456

Top Contributor
Du willst hier zwei Datein erstellen. "Quadratmeterpreise" die du vielleicht ertstellst ein Fehler würde im "zweiten Catch" ankommen.

Schreiben tust du in die zweite Datei "Preise.txt" Fehler hier würden in dem ersten Catch ankommen. Da machst du nichts.
 
Zuletzt bearbeitet:
Oh, das habe ich garnicht. bemerkt. Ich habe es jetzt so verändert, dass er die Datei erstellt und in die Gleiche Datei die Eingaben schreiben soll. Aber wie erwartet macht er es nur, wenn ich es über das Terminal mache. in der neu erstellten jar macht er es nicht.


try {
File file = new File("Preise.txt"); // Erstellt die Datei
boolean neu = false;
if (!file.exists()) {
file.createNewFile();
neu = true;
}
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("Preise.txt", true)); // schreibt in die Datei
if(!neu) {
writer.write("\n");
}
writer.write("Für das Objekt: " + Objekt);
writer.newLine();
writer.write("gilt ein Quadratmeterpreis von: " + qmPreis);
writer.write("Gesamt Preis: "+ ergebnis );
writer.newLine();
writer.close();
}
catch(IOException ioe) {
System.err.println(ioe);
}
}
catch(IOException ioAusnahme) {
System.out.println("Fehler beim öffnen der Datei!");
}
}
}



Edit: Falls es hilft zur Erkennung des Problems: Ich benutze MacOs BigSur und Visual Studio Code als Umgebung.
 
Zuletzt bearbeitet:
Ich habe jetzt mal die komplette Festplatte abgesucht. Leider hat er die Datei nicht gefunden. Die Datei mit dem alten Namen auch nicht. Gibt es denn eine Möglichkeit einen Pfad anzugeben in meinem Code, wo die Datei eingespeichert und beschrieben werden soll?
 

Jw456

Top Contributor
wenn du es in der IDE ausfürst wird vielleicht java 7 benutzt.

als jar wird die java Version benutzt die du auf deinem Rechner hast.

Teste mal in der Konsole "java -version" welche du Installiert hast.
 

Jw456

Top Contributor
Ich habe jetzt mal die komplette Festplatte abgesucht. Leider hat er die Datei nicht gefunden. Die Datei mit dem alten Namen auch nicht. Gibt es denn eine Möglichkeit einen Pfad anzugeben in meinem Code, wo die Datei eingespeichert und beschrieben werden soll?
Klar du brauchst den Path nur vor der Datei scheiben.
Java:
File file = new File("/user/Preise.txt");

Der Path also das Verzeichnis muss aber schon existieren. Wenn du createNewFile benutzt.
 

Jw456

Top Contributor
PS. mit "new FileWriter("Preise.txt", true)" erstellt du auch eine Datei auch wenn die noch nicht vorhanden ist.
Auch hier solltes du den Path auch angeben.
 
Klar du brauchst den Path nur vor der Datei scheiben.
Java:
File file = new File("/user/Preise.txt");

Der Path also das Verzeichnis muss aber schon existieren. Wenn du createNewFile benutzt.
Vielen Dank und sorry für das Späte Antworten. Ich habe es ausprobiert und es funktioniert. Eine Frage bleibt mir dennoch: gibt es eine Möglichkeit einen relativen Pfad anzugeben? Wenn der Nutzer als Beispiel nicht bekannt ist. /Users/„nichtBekannt“/Desktop/Preise.txt
 
Vielen Dank und sorry für das Späte Antworten. Ich habe es ausprobiert und es funktioniert. Eine Frage bleibt mir dennoch: gibt es eine Möglichkeit einen relativen Pfad anzugeben? Wenn der Nutzer als Beispiel nicht bekannt ist. /Users/„nichtBekannt“/Desktop/Preise.txt
 

Oneixee5

Top Contributor
Vielen Dank und sorry für das Späte Antworten. Ich habe es ausprobiert und es funktioniert. Eine Frage bleibt mir dennoch: gibt es eine Möglichkeit einen relativen Pfad anzugeben? Wenn der Nutzer als Beispiel nicht bekannt ist. /Users/„nichtBekannt“/Desktop/Preise.txt
Du kannst das so machen:
Java:
        String homeDir = System.getProperty("user.home");
        String currentDir = System.getProperty("user.dir");
"user.home" ist dabei das Home-Verzeichnis des Nutzers, "user.dir" ist der aktuelle Programm/Start-Ordner, s.: https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getProperties--
 

Neumi5694

Top Contributor
Wenn der Nutzer als Beispiel nicht bekannt ist
Oneixee5 hat zwar schon gesagt, wie man immer z.B. auf das Home-Verzeichnis kommt, aber grundsätzlich musst du dir bei solchen Problemen dann die Frage stellen, was soll dann gemacht werden?
Ein relativer Pfad ist einfach, das funktioniert heute noch genauso wie zu DOS Zeiten:
Java:
new File("demo.txt")
//oder auch
new File("./demo.txt")
//oder auch
new File("./Unterverzeichnis/demo.txt")
//du kannst auch ein Verzeichnis nach oben gehen
new File("../demo.txt")

Der ist dann relativ zum aktuellen Verzeichnis. Ist es das, was du willst?
Wenn du aber was relativ zum Home-Verzeichnis machen willst, kannst du dir entweder selbst die Strings zusammenbauen, oder den Konstruktor verwenden, der das recht elegant macht:
Java:
new File(System.getPropert("user.home"), "Documents/afile.txt")
Die macht im Endeffekt nichts anderes, als die beiden Strings zu verknüpfen und einen Fileseparator dazwischenzuschieben mit ein paar Überprüfungen (bei Bedarf einfach mal den Quellcode anschauen)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Bilder zu ausführbarer Jar-Datei hinzufügen AWT, Swing, JavaFX & SWT 5
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
N JavaFX Javafx intelij Projekt zu ausführbaren jar Datei Machen AWT, Swing, JavaFX & SWT 1
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
B JavaFX JavaFX Anwendung deployen (entw als runnableJAR oder exe-Datei) AWT, Swing, JavaFX & SWT 15
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
MasterCaution Swing .jar Datei ausführen AWT, Swing, JavaFX & SWT 12
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
N Ausführbare Datei aus JavaFX Projekt erstellen AWT, Swing, JavaFX & SWT 22
L Bilder werden in exportierter Datei nicht geladen AWT, Swing, JavaFX & SWT 6
L Csv-Datei einlesen AWT, Swing, JavaFX & SWT 34
J *.jar öffnet PDF-Datei nicht AWT, Swing, JavaFX & SWT 35
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
F Java FX Von der Fxml Datei zum Objekt AWT, Swing, JavaFX & SWT 8
A JavaFX Anwendung in Jar Datei AWT, Swing, JavaFX & SWT 8
F FXML Datei aus dem SceneBuilder in Eclipse aufrufen AWT, Swing, JavaFX & SWT 1
J Swing JavaProgramm für Verschlüssen für eine Datei AWT, Swing, JavaFX & SWT 19
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
H JavaFX aus der .fxml Datei einen Konstruktor bedienen AWT, Swing, JavaFX & SWT 3
P JavaFX - XCF Datei von Gimp kann nicht angezeigt werden AWT, Swing, JavaFX & SWT 3
M Wie binde ich eine JavaFX ProgressBar an eine Datei Übertragung? AWT, Swing, JavaFX & SWT 2
7 JavaFX Verwendung einer ResizableCanvas-Klasse in fxml-Datei AWT, Swing, JavaFX & SWT 3
C JavaFX Auf Nodes einer FXML-Datei in start Methode zugreifen AWT, Swing, JavaFX & SWT 5
F Pfad von eingelesener Datei AWT, Swing, JavaFX & SWT 10
Crazynet xls Datei in JTable AWT, Swing, JavaFX & SWT 3
D Objekte einer Oberfläche in eine Datei/Ordner speichern AWT, Swing, JavaFX & SWT 9
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
G .txt-Datei einlesen /formatieren in JTextfield ?? AWT, Swing, JavaFX & SWT 8
B ST Datei einlesen AWT, Swing, JavaFX & SWT 1
D JavaFX Jar Datei Signieren mit Java 8u45 AWT, Swing, JavaFX & SWT 2
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
M Swing PDF Datei nach drucken nicht löschbar AWT, Swing, JavaFX & SWT 6
A Databinding in FXML-Datei AWT, Swing, JavaFX & SWT 1
H 2D-Grafik .EPS Datei in .PNG konvertieren AWT, Swing, JavaFX & SWT 1
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
L 2D-Grafik PNG Datei in JLabel Array Problem AWT, Swing, JavaFX & SWT 4
B JAVAFX und CSS Datei in Eclipse AWT, Swing, JavaFX & SWT 4
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
S Aus XML Datei FXML generieren AWT, Swing, JavaFX & SWT 4
V JavaFX - fxml-Datei laden (neben CSS) AWT, Swing, JavaFX & SWT 2
S Swing Verzeichnis/Datei-Pfad in JTextField schreiben AWT, Swing, JavaFX & SWT 2
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
T Aus JAVA.Jar GUI eine Flash-Datei machen AWT, Swing, JavaFX & SWT 3
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
A AWT TTF-Datei zu Font-Objekt finden? AWT, Swing, JavaFX & SWT 5
Iron Monkey Nach Drag & Drop die Datei auf Komponent darstellen AWT, Swing, JavaFX & SWT 2
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Datei in jar öffnen AWT, Swing, JavaFX & SWT 11
W Funktion aus einer Java Datei in eine andere einbauen AWT, Swing, JavaFX & SWT 25
P Neue Datei erstellen in JPanel AWT, Swing, JavaFX & SWT 5
N Speicherpfad für Datei auswählen AWT, Swing, JavaFX & SWT 2
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
N Applet JButton soll html Datei aus einem Ordner öffnen AWT, Swing, JavaFX & SWT 2
E Swing jTextPane Text datei anzeigen AWT, Swing, JavaFX & SWT 7
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T SWT:Datei speichern / öffnen AWT, Swing, JavaFX & SWT 6
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
J Bild aus Datei in BufferedImage laden AWT, Swing, JavaFX & SWT 4
M Swing XML Datei in JTable darstellen + verändern AWT, Swing, JavaFX & SWT 3
D Swing JTable in Datei speichern und laden AWT, Swing, JavaFX & SWT 3
J Fehler beim Gif Datei öffnen AWT, Swing, JavaFX & SWT 2
N Swing TreePath Datei öffnen AWT, Swing, JavaFX & SWT 7
B Datei öffnen Dialog AWT, Swing, JavaFX & SWT 9
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
T Info Datei AWT, Swing, JavaFX & SWT 3
J ImageIcon: ZipException bei ungültiger PNG-Datei AWT, Swing, JavaFX & SWT 2
W jar Datei öffnen AWT, Swing, JavaFX & SWT 4
W TrayIcon mit jdic (Problem bei .jar Datei) AWT, Swing, JavaFX & SWT 3
D Nodes eines statischen JTrees sollen auf Anker (Textmarken) in einer HTML-Datei zeigen AWT, Swing, JavaFX & SWT 8
R Swing XML Datei in JTree, Problem mit Daten einlesen AWT, Swing, JavaFX & SWT 34
M AWT Datei auf server speichern und beschreiben AWT, Swing, JavaFX & SWT 7
P JMenu-Erweiterung in externer Datei AWT, Swing, JavaFX & SWT 5
M Text in txt-Datei in letzte Zeile schreiben? AWT, Swing, JavaFX & SWT 14
X Swing Inhalt einer JEditorPane in Datei abspeichern AWT, Swing, JavaFX & SWT 5
E Datei in TextArea anzeigen AWT, Swing, JavaFX & SWT 12
data89 Nimbus Look and Feel als gepackte JAR-Datei AWT, Swing, JavaFX & SWT 3
S Auswahlfenster: Datei beim Doppelklick öffnen AWT, Swing, JavaFX & SWT 8
N Swing Hintergrund Bild in JAR Datei AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
M Text-Datei in einem JFrame öffen? AWT, Swing, JavaFX & SWT 2
Fadi Images in JAR Datei laden? AWT, Swing, JavaFX & SWT 5
K Hyperlink als Datei identifizieren AWT, Swing, JavaFX & SWT 2
S Jar-Datei funktioniert nicht richtig AWT, Swing, JavaFX & SWT 3
1 Laden einer Datei zur Echtzeit Darstellen AWT, Swing, JavaFX & SWT 7
P Problem bei Datei zur Verwaltung von Tabs AWT, Swing, JavaFX & SWT 5
F png-Datei erstellen und einzelne Pixel schreiben AWT, Swing, JavaFX & SWT 2
A Ini Datei Auswerten - HILFE! AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben