请查阅reflect(反射)相关资料
解决方案 »
- ibaits 3 oracle 一对一插入问题
- css特效如何制作
- 请问 XML 串行化在J2EE里面用处
- JB部署CMP老出现JNDI出错
- spring+hibernate+atomikos多数据源事务回滚
- 传个jdk文档给我!急!!!!!!!!~~~
- Struts中Action处理后跳转到原页面的一个新窗口,代码如何写?
- 怎么转换STRUTS里*.properties里编码啊?
- 原来在COM中定义的一个函数,在EJB中可以定义吗?(没分了,别嫌少呀)
- 简单的Socket编程问题[300分]
- tomcat4.1中的start tomcat 开始点击后只是运行下后 就自动关闭了 这是什么原因?
- 问一个特别奇怪的问题~~~~太奇怪了。。。
Class.forName(类)
如:
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver")
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.lang.reflect.Method;
import com.sun.tools.javac.Main;/**
* 动态执行JAVA示例
* Create on 2003/04/21
* 调用方法: java ExecJava 要执行的JAVA语句,例如:java ExecJava System.out.println("123");
* @author memphis.guo(email:[email protected])
*/public class ExecJava
{
public static void runJava(String code)
{
File file;
Main javac = new Main();
String classname = "";
String filename = "";
try
{
//在当前目录下产生一个临时JAVA文件
file =
File.createTempFile(
"JavaRuntime",
".java",
new File(System.getProperty("user.dir")));
//当程序离开时删除这个临时文件
file.deleteOnExit();
filename = file.getName();
classname = getClassName(filename); //写临时文件
PrintWriter out = new PrintWriter(new FileOutputStream(file));
out.println("public class " + classname + "\r\n{");
out.println("\tpublic static void main(String argc[])\r\n\t{");
out.println(code);
out.println("\t}\r\n}");
out.flush();
out.close();
//编译执行临时文件
String[] args =
new String[] { "-d", System.getProperty("user.dir"), filename };
int status = javac.compile(args); new File(file.getParent(), classname + ".class").deleteOnExit();
Class cls = Class.forName(classname);
Method main = cls.getMethod("main", new Class[] { String[].class });
main.invoke(null, new Object[] { new String[0] });
}
catch (Exception e)
{
System.out.println(e);
}
} /**根据一个java源文件名获得类名*/
private static String getClassName(String filename)
{
return filename.substring(0, filename.length() - 5);
}public static void main(String args[])
{
runJava(args[0]);
}}
import org.apache.commons.beanutils.DynaProperty;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.PropertyUtils;/**
*
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class DynaBeanUsage { public static void main(String[] args) throws Exception {
//定义动态类的属性== define properties for dynamic class
DynaProperty[] props = new DynaProperty[]{new DynaProperty("aField",java.lang.String.class)};
//动态创建一个 AnotherBean 类 里面包括一个aField 属性
BasicDynaClass dynaclass = new BasicDynaClass("AnotherBean",null,props);
DynaBean dBean = dynaclass.newInstance();
//设置 AnotherBean 类的 aField属性值为11111
PropertyUtils.setProperty(dBean,"aField","11111");
System.out.println("value:"+PropertyUtils.getProperty(dBean,"aField"));
}
}