Wie kann ich eine Datei aus einem Resource-Ordner lesen in Java?
Ich möchte aus einer Datei lesen, die sich in einem Ordner "resources" befindet, welcher sich wiederum in "src" befindet. Dafür habe ich folgenden Code, der aber leider nicht funktioniert:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("/resources/Aktualisierung.txt").getFile());
in = new BufferedReader(new FileReader(file));
Warum geht das bei mir nicht? Im Internet steht öfters, dass man das so machen soll.
2 Antworten
Die resources haben im src Ordner auch nichts zu suchen, der resources Ordne sollte eigentlich im gleichen Ordner wie der Source Ordner sein.
Streng genommen ist es so richtig:
src/main/java für deine Java Source Dateien
src/main/resources für Resourcen
Zugriff erfolgt in der Regel über die Instanz einer Klasse. Mit clazz.getResource(String) bekommst du die URL zur Resource und mit clazz.getResourceAsStream(String) bekommst du direkt einen InputStream.
Im Internet steht viel, aber hat das Internet auch so eine Ordnerstruktur wie du?
src/resources ??
Wenn du die in Android machst, brauchst du den Pfad (in "...") nicht angeben.
Versuche es mal mit dem Debugger, welcher Pfad in file steht (nach new File)
Gruß