站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题从网络下载类文件并执行

从网络下载类文件并执行

摘要: 从网络下载类文件并执行

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle">
import java.net.*;

import java.lang.reflect.*;

public class MyURL{

    static public void main( String args[] ) throws Exception {

    URL myurl[] = {//类文件地址,为了验证,请放入web服务器如:http://127.0.0.1:8080/cwbwebhome/

        new URL("file:///C:/CH3/ClassLoader/web/"),

        new URL ("http://127.0.0.1:8080/cwbwebhome/")

   };

   URLClassLoader x = new URLClassLoader (myurl);

   Class c = x.loadClass ("TestURL");//装载类文件TestURL.class

   Class getArg1[] = { (new String[1]).getClass() }; //main()主方法的参数类型

   Method m = c.getMethod( "main", getArg1 ); //获取主方法

   String[] my1={"arg1 passed","arg2 passed"}; //调用主方法的参数

   Object myarg1[] = {my1};

   m.invoke( null, myarg1 );//调用TestURL类的静态主方法

    Object ob = c.newInstance(); //一个TestURL对象

    Class arg2[] =null;

    Method m2 = c.getMethod("tt", arg2 ); //调用TestURL类的无参数的方法tt()

    m2.invoke(ob);

    Class arg3[] = {(new String()).getClass(), int.class};

    Method m3 = c.getMethod("tt", arg3 );

    Object myarg2[] = {"Arg1",new Integer(100)};

    m3.invoke( ob,myarg2);//调用TestURL类的方法tt(String s, int i)

  }

}

运行结果(jdk1.5下通过):

C:\java>java  MyURL

From Main

arg1 passed

arg2 passed

From tt without args

Fron tt with args

Arg1

100

C:\java>

附TestURL.java

import java.io.*;

public class TestURL{

  static public void main( String args[] ) throws Exception {

          System.out.println("From Main");

          System.out.println(args[0]);

          System.out.println(args[1]);

  }

  public void tt( ) throws Exception{

       System.out.println("From tt without args");

       byte b[]="How are you!".getBytes("UTF8");

       FileOutputStream f=new FileOutputStream("ssss.txt");

       f.write(b);

  }

  public void tt(String s, int i){

       System.out.println("Fron tt with args");

       System.out.println(s);

       System.out.println(i);

  }

}

</td> </tr> <tr>


↑返回目录
前一篇: 获取类的方法列表
后一篇: 使用RSA算法进行加密和解密