Dateien mit getClass().getResource() laden
Beim Versuch, eine Ressourcendatei mit getClass().getResource(path) zu laden Es muss unbedingt sichergestellt werden, dass die Ressource über den Klassenpfad zugänglich ist.
In Eclipse werden im Quellordner abgelegte Dateien automatisch in das bin-Verzeichnis kopiert während der Kompilierung. Daher ist Ihre Ressourcendatei, Test.properties, beim Starten des Programms aus der IDE zugänglich, da das bin-Verzeichnis zum Klassenpfad hinzugefügt wird.
Allerdings, wenn Sie das Programm über die Befehlszeile mit javac und java ausführen Befehle wird das bin-Verzeichnis nicht automatisch in den Klassenpfad aufgenommen. Sie müssen das bin-Verzeichnis mithilfe der Option -classpath explizit zum Klassenpfad hinzufügen.
Hier ist ein Beispiel, wie Sie das Programm über die Befehlszeile kompilieren und ausführen können:
javac -classpath . CustomDialog.java java -classpath . SwingDemo.CustomDialog
Alternativ: Sie können getClass().getResourceAsStream() verwenden, das die Ressource direkt als InputStream lädt, ohne auf das Dateisystem angewiesen zu sein. So verwenden Sie diese Methode:
InputStream inputStream = getClass().getResourceAsStream("Test.properties");
Durch Angabe des Ressourcenpfads als „/com/foo/bar/Test.properties“ können Sie eine Datei aus einem bestimmten Paket laden.
Das obige ist der detaillierte Inhalt vonWie lade ich Ressourcendateien mit getClass().getResource() in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!