myclassloader.java

来自「Java安全性编程实例,解压看说明」· Java 代码 · 共 37 行

JAVA
37
字号
import java.io.*;
import java.lang.reflect.*;
import java.security.*;
import javax.crypto.*;

public class MyClassLoader extends ClassLoader
{
  public Class findClass( String name){
       byte[ ] classData=null;
       try{
           FileInputStream f=
                new FileInputStream("C:\\CH3\\ClassLoader\\web\\"+
			name+".class");
           int num=f.available();
           classData=new byte[num];
           f.read(classData);
       } catch(IOException e){System.out.println(e); }
       Class x=defineClass(name, classData, 0, classData.length);
       return x;
  }
}

class MyURL2{

  static public void main( String args[] ) throws Exception {
      MyClassLoader x=new MyClassLoader();
      Class c = x.loadClass(args[0]);
      Class getArg1[] = { (new String[1]).getClass() };
      Method m = c.getMethod( "main", getArg1 );
      String[] my1={"arg1 passed","arg2 passed"};
      Object myarg1[] = {my1};
      m.invoke( null, myarg1 );

  }

}

⌨️ 快捷键说明

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