Cur*_*raw 5 java scripting processbuilder
我正在尝试从java程序运行Python,Ruby,C,C++和Java脚本,并且向我建议使用Processbuilder作为运行脚本的好方法.根据我的理解,Processbuilder主要运行本机文件(Windows上的.exe等).但是,我听说过使用Processbuilder运行脚本(非本地)文件的一些事情.不幸的是,我在这个主题上发现的一切都非常模糊.
如果有人可以澄清一种运行非本地脚本的方法,比如Python,Ruby等,我将非常感激!
您可以ProcessBuilder在Sunoracle上查看文档,但基本上,您可以运行脚本语言的解释器并将要运行的脚本传递给它.
例如,假设您有一个脚本/home/myuser/py_script.py,并且python在其中/usr/bin/
class ProcessRunner
{
public static void main(String [] args)
{
ProcessBuilder pb = new ProcessBuilder("/usr/bin/python", "/home/myuser/py_script.py");
Process p = pb.start();
}
}
Run Code Online (Sandbox Code Playgroud)
一个非常基本的例子,您可以通过更改工作目录和更改环境来获得更好的体验.
您还可以ProcessBuilder使用String数组或子类型构造List<String>.列表中的第一项应该是您要运行的程序/可执行文件,以下所有项都是程序的参数.
String pbCommand[] = { "/usr/bin/python", "/home/myuser/py_script.py" };
ProcessBuilder pb = new ProcessBuilder(pbCommand);
Process p = pb.start();
Run Code Online (Sandbox Code Playgroud)