执行文本文件中给出的java代码

时间:2009-06-29 11:22:02

标签: java

我在文本文件中有一组java代码。我可以从文本文件中逐行读取并执行javascript的eval函数中的命令吗?提前致谢

5 个答案:

答案 0 :(得分:8)

尝试使用BeanShell。从介绍页面:

  

什么是BeanShell?

     

BeanShell是一个小型,免费,可嵌入的   带有对象的Java源解释器   脚本语言功能,写的   在Java中。 BeanShell动态   执行标准的Java语法和   使用通用脚本扩展它   便利,如松散的类型,   命令和方法闭包   Perl和JavaScript中的那些。

     

您可以以交互方式使用BeanShell   用于Java实验和调试   以及扩展您的应用程序   以新的方式。脚本Java借钱   本身就是各种各样的   应用包括快速   原型设计,用户脚本扩展,   规则引擎,配置,测试,   动态部署,嵌入式系统,   甚至是Java教育。

     

BeanShell很小,可以嵌入,所以   你可以从Java调用BeanShell   应用程序来执行Java代码   动态地在运行时或提供   应用程序中的可扩展性。   或者,您可以使用独立   用于操作Java的BeanShell脚本   应用;使用Java   动态的对象和API。以来   BeanShell是用Java编写并运行的   在与您的应用程序相同的VM中,   你可以自由地传递参考   将“实时”对象转换为脚本并返回   他们作为结果。

     

简而言之,BeanShell是动态的   解释Java,加上脚本   语言和灵活的环境   滚成一个干净的包裹。

答案 1 :(得分:3)

没有。 Java是一种编译语言,因此除非先调用编译器,否则这种行为是不可能的。 (并且不能保证带有Java的机器具有Java编译器。)

答案 2 :(得分:3)

也许开始寻找Java VM支持的脚本语言会更容易。

首先要记住

Groovy,它有类似Java的语法。

答案 3 :(得分:1)

可能。它可以使用compiler API非常简单地完成。但是你最好编写一个控制程序的XML配置,而不是允许在文本文件中执行任意代码。

答案 4 :(得分:0)

您可以使用Janino编译生成的* .java文件。编译文件后,可以加载* .class文件并通过反射调用方法。