基本上,我想做两件事:
我知道这是可能的,因为我的一位前辈已经做到了,但我不知道他是怎么做到的.也许他使用了Java的内置类之一.
注意:用户会将代码写入某个文本文件,然后我将该文件内容存储在某个变量中,然后运行该代码.
对的,这是可能的.
步骤1:编译代码
使用ProcessBuilder或Runtime构建一个Java编译器编译代码的进程.(请注意,这需要在运行时在系统上提供Java编译器).
第2步:调用代码
有两种方法可以调用它们的代码.您可以再次使用ProcessBuilder或Runtime对象来构造执行其Java代码的过程.您可以使用Process的getInputStream和getOutputStream函数来读取和写入其他进程.另一种方法是,您可以使用Class和各种反射API来加载其代码并直接在Java中执行它.