ClassLoader getResource(String) in Java

getResource(String): This method is available in the java.lang.ClassLoader class of Java.

Syntax:

URL java.lang.ClassLoader.getResource(String name)

This method takes one argument. This method finds the resource with the given name.

A resource is some data(images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.

The name of a resource is a '/'-separated path name that identifies the resource.

Parameters: One parameter is required for this method.

name: The resource name.

Returns: URL object for reading the resource; null if the resource could not be found, a URL could not be constructed to locate the resource, the resource is in a package that is not opened unconditionally, or access to the resource is denied by the security manager.

Throws:

1. NullPointerException - If the name is null.

Approach 1: When no exception

Java

package com.ClassLoader;

public class ClassLoadergetResource {
    public static void main(String[] args) {

        ClassLoader classLoader = ClassLoader.getSystemClassLoader();

        String name = "java.lang.String";

        System.out.println(classLoader.getResource(name));
    }
}

Output:

null


Approach 2: NullPointerException

Java

package com.ClassLoader;

public class ClassLoadergetResource {
    public static void main(String[] args) {

        ClassLoader classLoader =
ClassLoader.getSystemClassLoader();

        String name = null;

        System.out.println(classLoader.getResource(name));
    }
}

Output:

Exception in thread "main" java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1402) at com.ClassLoader.ClassLoadergetResource.main(ClassLoadergetResource.java:10)


Some other methods of ClassLoader class

clearAssertionStatus()This method sets the default assertion status for this class loader to false and discards any package defaults or class assertion status settings associated with the class loader.

getDefinedPackage(String)This method returns a Package of the given name that has been defined by this class loader.

getDefinedPackages()This method returns all of the Packages that have been defined by this class loader. 

getName()This method returns the name of this class loader or null if this class loader is not named.

getParent()This method returns the parent class loader for delegation. Some implementations may use null to represent the bootstrap class loader.

ClassLoader.getPlatformClassLoader()This method returns the platform class loader. All platform classes are visible to the platform class loader.

getResource(String)This method finds the resource with the given name.

getResourceAsStream(String)This method returns an input stream for reading the specified resource.

getResources(String)This method finds all the resources with the given name.

ClassLoader.getSystemClassLoader()This method returns the system class loader. 

ClassLoader.getSystemResource(String)This method finds a resource of the specified name from the search path used to load classes. 

ClassLoader.getSystemResourceAsStream(String)This method is open for reading, a resource of the specified name from the search path used to load classes.

ClassLoader.getSystemResources(String)This method finds all resources of the specified name from the search path used to load classes.

getUnnamedModule()This method returns the unnamed Module for this class loader.

isRegisteredAsParallelCapable()This method returns true if this class loader is registered as parallel capable, otherwise false.

loadClass(String)This method loads the class with the specified binary name.

resources(String)This method returns a stream whose elements are the URLs of all the resources with the given name.

setClassAssertionStatus(String, boolean)This method sets the desired assertion status for the named top-level class in this class loader and any nested classes contained therein.

setDefaultAssertionStatus(boolean)This method sets the default assertion status for this class loader.

setPackageAssertionStatus(String, boolean)This method sets the package default assertion status for the named package. 

No comments:

Post a Comment