java - Where does this.getClass().getResource() look? -
this question has answer here:
- getresourceasstream() hell 3 answers
say call this.getclass().getresource()
in class in order obtain url of file.
where getresource()
start looking? in main src
folder of project? in main package folder? 'root folder' getresource()
method?
i confused method, great if explained this.
class.getresource()
finds resource given name. rules searching resources associated given class implemented defining class loader of class.
before delegation, absolute resource name constructed given resource name using algorithm:
if name begins '/' ('\u002f')
, absolute name of resource portion of name following '/'. otherwise, absolute name of following form:
modified_package_name/name
where modified_package_name
package name of object '/'
substituted '.' ('\u002e')
.
the classloader
class uses delegation model search classes , resources. each instance of classloader
has associated parent class loader. when requested find class or resource, classloader
instance delegate search class or resource parent class loader before attempting find class or resource itself. virtual machine's built-in class loader, called "bootstrap class loader", not have parent may serve parent of classloader
instance.
the more read, more learn :)
Comments
Post a Comment