2016-05-19 6 views
1

Ich habe diesen Code:Warum ist meine `getClass(). GetResource (" logs ")` gibt null zurück?

this.fileName = getClass().getResource("logs").toURI().toString(); 

die für Null-Zeiger-Ausnahme fehlschlägt, weil getClass().getResource("logs") kehrt null

was ich fehle?

enter image description here

+0

Aus dem Screenshot, der wie ein Ordner aussieht, keine Datei. Nicht sicher, ob das für Ressourcen sinnvoll ist. Beachten Sie auch, dass dies möglicherweise kein Dateisystemordner ist, sondern ein Pfad innerhalb einer JAR-Datei. Wenn Sie tatsächliche Dateien benötigen, verwenden Sie besser die 'Path'-API anstelle eines Classloaders. Was hast du mit 'this.fileName' vor? – Thilo

Antwort

2

Sie suchen nach einer Ressource, die zur LogUtils Klasse ist relativ.

Sie könnten getClass().getResource("/logs") verwenden oder Sie könnten getClass().getClassLoader().getResource("logs") verwenden.

(In jedem Fall, ich bin davon überzeugt, nicht zu 100% es wird funktionieren, wenn dieser einen Ordner ist, anstatt eine tatsächliche Ressource ...)