请教一下,怎样执行一段存放在字符串变量里面的java代码??
有一个String类型的变量,里面存放着一组可以执行的java代码,问怎样才能在程序中执行这些代码。
原来设计的是在数据库中存放一些java代码,然后在程序中检索出来并存放在字符串变量里面,现在的问题是怎样在程序中执行这些在字符串变量里面的代码。
谢谢!
问题点数:50、回复次数:9Top
1 楼kingfish(工作很忙,很少来csdn...)回复于 2005-04-03 21:00:04 得分 0
如果存的是class文件名+方法名,还可以通过反射来执行
如果是源码估计你只能自己写解释/编译器了Top
2 楼steedhorse(晨星)回复于 2005-04-03 21:07:00 得分 0
提取出来,另存为Java文件,编译、执行。Top
3 楼steedhorse(晨星)回复于 2005-04-03 21:08:12 得分 0
不过,这样要求必须是完整的一个Java类,不可以是一个Java语句片断。
如果是后者,那么就是用一个class加一个main方法包起来,然后另存为,然后编译、运行。Top
4 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-03 21:18:15 得分 0
理论上是可以实现的
但是必须要在代码里用Runtime.exec()来执行javac,java
Top
5 楼Hodex(小何才露尖尖角)回复于 2005-04-03 21:21:27 得分 0
执行外部文件:Runtime.getRuntime().exec("cmd /c "+getYourStr());
不知你说的执行是指什么Top
6 楼kingfish(工作很忙,很少来csdn...)回复于 2005-04-03 21:27:18 得分 0
调用javac编译执行,那得是独立的代码(不能用到当前的一些变量等)Top
7 楼garfieldcatcat(嘉菲猫)回复于 2005-04-03 21:30:33 得分 0
首先谢谢大家的回答
打个比方
String aaa= "int i=3;int j=4;int k;k=i+j;System.out.println(k);"
然后怎样运行这个aaa?
Top
8 楼taglib(不懂就是不懂,别不懂装懂)回复于 2005-04-03 21:45:03 得分 10
看一下Beanshell的做法
http://www.beanshell.org/home.htmlTop
9 楼kingfish(工作很忙,很少来csdn...)回复于 2005-04-03 22:48:22 得分 40
写了个简单例子,见
http://blog.csdn.net/kingfish/archive/2005/04/03/335654.aspxTop




