So finden Sie Ressourcen in Java: 1. Suchen Sie Ressourcen im Klassenpfad über [Class.getResource()] 2. Suchen Sie Ressourcen im Stammverzeichnis des Pakets über [ClassLoader.getResource()].
[Verwandte Lernempfehlungen: Java-Grundlagen-Tutorial]
Java-Methode zum Auffinden von Ressourcen: strong>
1, verwenden Sie Class.getResource()
, um Ressourcen im Klassenpfad zu suchen (bin/com/bbebfe/icons/sample.gif)
Class clazz = this.getClass(); URL url = clazz.getResource(imageName);
2, verwenden Sie ClassLoader.getResource()
, um Ressourcen im Stammverzeichnis des zu suchen Paket (bin /icons/sample.gif)
Class clazz = this.getClass(); URLClassLoader loader = (URLClassLoader)clazz.getClassLoader(); URL url = loader.getResource(imageName);
3, bieten Sie Ihre eigene individuelle Möglichkeit, Ressourcen über ClassLoader.findResource()
URL url = loader.findResource(imageName);
Was sind also die Unterschiede zwischen diesen drei? Methoden? Was sollen wir tun? Wann sollen wir welche Methode verwenden?
1, Class.getResource()
Methode
Diese Methode erhält tatsächlich Ressourcen über die Methode getResource() des Klassenladers. Nach dem Aufruf von getResource() des ClassLoader Before ist der absolute Name der Ressource der Teil nach „/“.
Wenn der Bildname „/icons/sample.gif“ ist, wird er zu „icons/“ „sample.gif“ hier
+ Ansonsten hat der absolute Name in anderen Fällen die folgende Form (fügen Sie „modifizierter_Paketname/“ vor dem Ressourcennamen ein):
using using using through through out through out out through out through out out through off ' ‐ ‐ ‐‐‐‐‐ undDie Bedeutung besteht darin, das '.' ('/u002e') im Paketnamen des aktuellen Objekts durch ' zu ersetzen /'
Wenn die Methode ClassLoader.getResource() eine URL mit einem Nullwert zurückgibt, übergibt die Methode Class.getResource() schließlich die Ressourcenanforderung an modified_package_name/resource_name
.
2,
methodClassLoader.getSystemResource(java.lang.String)
Dies sollte nach der Ressource suchen. Der Name der Ressource ist ein durch „/“ getrennter Pfad. Diese Methode sucht zunächst nach ihrem eigenen übergeordneten ClassLoader, um Ressourcen zu finden Wenn der übergeordnete ClassLoader nicht leer ist, sendet er eine Suchanforderung nach oben. Wenn diese Vorgänge fehlschlagen, sucht er nach dem in die Java Virtual Machine integrierten Klassenlader , ClassLoader ruft seine eigene findResource()-Methode auf, um die Ressource zu finden.
3, ClassLoader.getResource()
Methode
Diese Methode findet intern die angegebenen Ressourcen. Wenn Sie Ihren eigenen Class Loader implementieren, sollten Sie diese Methode überschreiben um Kursdateien und Ressourcen auf Ihre eigene Art und Weise zu finden.
Verwandte Lernempfehlungen: Programmieren Video
Das obige ist der detaillierte Inhalt vonSo finden Sie Ressourcen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!