IntelliJ Java Datenspeicherung geht nach Umwandlung in jar nicht mehr?
Hallo, ich habe ein kleines Programm mit Java in IntelliJ geschrieben. Ich habe dort eine TableView in die man Daten eintragen kann welche dann automatisch in eine csv datei geschrieben werden. Beim erneuten öffnen des Programms werden die Daten dann aus der csv datei gelesen und wieder angezeigt. Das hat alles soweit funktioniert. Jetzt habe ich aus dem Projekt eine Jar Datei gemacht und die Datenspeicherung funktioniert nicht mehr. Alles andere geht noch so wie es soll. Danke im voraus ;)
2 Antworten
Du solltest 2 Punkte sicherstellen.
- Die zu schreibende/lesende Datei existiert und befindet sich im richtigen Verzeichnis. Eigentlich solltest du diesen Ausnahmefall aber bereits in deinem Code berücksichtigt haben.
- Dein Programm verfügt über die notwendigen Rechte, um Dateien schreiben und lesen zu können. (Starte es ggbf. explizit als Administrator)
File data = new File(String.valueOf(this.getClass().getResource("data.csv")));
BufferedReader bufferedReader = new BufferedReader(new FileReader(data));
Das ist mein Code. Hab mittlerweile bisschen was geändert. Jetzt erstellt er mir allerdings eine CSV-Datei mit dem Namen null.csv.
Lies die Datei mal folgendermaßen ein:
new BufferedReader(new InputStreamReader(getClass().getClassLoader().getResourceAsStream("data.csv")));
Vielleicht liegts daran, dass die jar Datei nicht den gleichen Speicherort wie die Java Datei hat und deswegen, auf den falschen Pfad verwiesen wird?
Die zu schreibende/lesende Datei befindet sich in der Jar Datei drinne. Wenn ich diese als mit Winrar öffne sehe ich auch normal alle Klassen und Dateien. Als Administrator ausführen hat leider auch nichts gebracht :(