pathvfsjavaloader.java

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Java 代码 · 共 50 行

JAVA
50
字号
// Copyright 2000 Samuele Pedronipackage jxxload_help;public class PathVFSJavaLoader extends ClassLoader {    private ClassLoader parent;       private PathVFS vfs;        public java.util.Vector interfaces = new java.util.Vector();        public PathVFSJavaLoader(PathVFS vfs,ClassLoader parent) {        this.vfs = vfs;        this.parent = parent;    }        protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {        Class c;                c = findLoadedClass(name);        if (c != null) return c;                try {            if (parent != null) return parent.loadClass(name);        } catch(ClassNotFoundException e) {        }                java.io.InputStream in = vfs.open(name.replace('.','/')+".class");        if (in == null) throw new ClassNotFoundException(name);        try {	    byte[] buf = org.python.core.FileUtil.readBytes( in );            in.close();            return loadClassFromBytes(name,buf);        } catch(java.io.IOException e) {            throw new ClassNotFoundException(name);        }    }    private Class loadClassFromBytes(String name, byte[] data) {        Class c = defineClass(name, data, 0, data.length);        resolveClass(c);        if (c.isInterface()) interfaces.addElement(c);        if (!org.python.core.Options.skipCompile) {            Compiler.compileClass(c);        }        return c;    }  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?