字符串充当代码 - Java

时间:2013-07-07 17:54:11

标签: java string input

我正在尝试为用户提供在我的程序中编写一行代码的选项。 他们的输入保存为String,我需要将该字符串转换为一行 eclipse IDE中的代码。例如:

String a = "System.out.println("String code test.");"

现在我需要这个String来编译成程序并打印出文本。 考虑到用户输入代码行时,他们是否可以这样做 该程序已编译,因此无法插入新的代码行?

我知道这个问题有点令人困惑,但如果有人能理解这篇文章或者有 类似的问题,我很乐意听到反馈。

编辑: 我已经意识到我可以使用BufferedWriter写入.java文件,然后在写入后调用该类。你能用BufferedWriter写入.java文件吗?

2 个答案:

答案 0 :(得分:2)

可以在运行时用Java编译一个类。这意味着您需要将代码行放入单独的java类文件中并编译此文件。你可以在这里找到解释:

http://java-bytes.blogspot.de/2012/03/compile-java-files-at-runtime.html

这是我在java中发现的另一篇关于动态代码的文章:

http://extremejava.tpk.com.br/2008/11/06/dynamic-code-in-java-aka-eval-in-java/

答案 1 :(得分:1)

您可以使用BeanSHellCompiler API