java class jar determine

java class jar determine

To determine if a Java class is contained in a JAR file, you can use the ClassLoader class and the getResourceAsStream method.

Here's an example of how to use the ClassLoader and the getResourceAsStream method to determine if a Java class is contained in a JAR file:

refer to‮ttual:‬uri.com
import java.io.InputStream;

public class Main {
  public static void main(String[] args) {
    String className = "com.example.MyClass";
    InputStream stream = Main.class.getClassLoader().getResourceAsStream(className.replace(".", "/") + ".class");
    if (stream != null) {
      // class is contained in a JAR file
    } else {
      // class is not contained in a JAR file
    }
  }
}

In this example, the getResourceAsStream method of the ClassLoader class is used to open an input stream to the class file of the MyClass class. If the input stream is not null, it means that the class file was found and is contained in a JAR file. If the input stream is null, it means that the class file was not found or is not contained in a JAR file.

You can use a similar approach to determine if any other resource, such as a properties file or an image file, is contained in a JAR file. Just replace the class name with the name of the resource in the getResourceAsStream method.

Note that the getClassLoader method returns the class loader that was used to load the Main class. If you want to determine if a different class is contained in a JAR file, you can use the getClassLoader method of that class instead.

Created Time:2017-11-03 00:14:50  Author:lautturi