By loading the class, we can check whether the class exists in the class path or not. Below snippet checks whether a class is available in the class path or not.
Find the below working application.
ClassAvailableCheck.java
package com.sample.app.reflections;
public class ClassAvailableCheck {
public static boolean isClassAvailable(String classQualifiedName) {
ClassLoader classLoader = ClassAvailableCheck.class.getClassLoader();
try {
Class<?> laodedClazz = classLoader.loadClass(classQualifiedName);
return (laodedClazz != null);
} catch (ClassNotFoundException e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
System.out.println("is java.lang.System available: " + isClassAvailable("java.lang.System"));
System.out.println("is org.json.JsonUtil available : " + isClassAvailable("org.json.JsonUtil"));
}
}
Sample Output
is java.lang.System available: true
java.lang.ClassNotFoundException: org.json.JsonUtil
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at com.sample.app.reflections.ClassAvailableCheck.isClassAvailable(ClassAvailableCheck.java:8)
at com.sample.app.reflections.ClassAvailableCheck.main(ClassAvailableCheck.java:18)
is org.json.JsonUtil available : false
You may like
How to check whether string contain only whitespaces or not?
How to call base class method from subclass overriding method?
Can an interface extend multiple interfaces in Java?
instanceof operator behavior with interface and class
Call the main method of one class from other class using reflection
No comments:
Post a Comment