绝对路径的类加载

时间:2014-11-17 06:36:14

标签: java classloader

我有一个类,我想通过绝对路径加载该类,但我得到ClassNotFoundException。我经历了很多这样的线程,发现从绝对路径加载类是不正确的。

    InputStream stream = new Check().getClass().getResourceAsStream(clazz+".class");

    OutputStream os = new FileOutputStream(new File("D:\\deep.class"));
    byte[] array = new byte[100];
    while(stream.read(array) != -1){
        os.write(array);
    }
    os.close();
    stream.close();
    Object obj = Class.forName("D:\\deep.class").newInstance();//getting exception here
    System.out.println(obj instanceof Check);

1 个答案:

答案 0 :(得分:3)

您需要使用URLClassLoader在此用例中加载类

URLClassLoader urlClassLoader = URLClassLoader.newInstance(new URL[] {
       new URL(
           "file:///D:/"
       )
});

Class clazz = urlClassLoader.loadClass("deep");