Txt-Datei in Java einbinden und einlesen?
Welchen Pfad muss ich angeben, um in Java eine .txt Datei einlesen und schreiben zu können, wenn ich daraus eine .jar Datei erstelle?
Ich binde sie ein indem ich sie direkt in den src Ordner lege. Wenn ich den Javacode in eine .jar Datei exportiere, wird die Datei jedoch nicht gefunden.
Bei den Bildern die ich einbinde hat es mit folgendem Code funktioniert:
URL imgURL = ClassLoader.getSystemResource(dateiname);
Image img = new ImageIcon(imgURL, " ");
Für die Textdateien hab ich aber bisher noch keinen Weg gefunden.
Hier der Code mit dem PrintWriter:
2 Antworten
Eine NullPointerException kann fliegen, wenn:
(...) the resource could not be found, a URL could not be constructed to locate the resource, the resource is in a package that is not opened unconditionally, or access to the resource is denied by the security manager.
!
Der Ort, an dem die Datei liegt, muss dem Classpath bekannt sein.
Dann kannst Du diese über getResource bzw getResourceAsStream abfragen.
Ich empfehle, dass Du mit einem Maven Projekt arbeitest. Dann hast Du eine vordefinierte Projektordnerstruktur und die Resourcen liegen in /src/main/resources.
ClassLoader classLoader = getClass().getClassLoader();
File dateiTXT = new File(classLoader.getResource("resources/Datum.txt").getFile());
Die Datei Datum.txt liegt in src -> resources. Ich bekomm aber ne NullPointerException!