java执行脚本文件
作者:互联网
JDK8中新添加了ScriptEngineManager类用于调用脚本文件
ScriptEngineManager类常用方法
getEngineByExtension(String extension)
查找并创建一个ScriptEngine一个给定扩展getEngineByName(String shortName)
查找并为给定的名称创建一个 ScriptEngine 。put(String key, Object value)
方法在全局范围中设置指定的键/值对。get(String key)
获取全局范围中指定键的值。
ScriptEngine接口常用方法
eval(Reader reader)
与eval(String)
相同,只是脚本的来源以 Reader形式提供
Object eval(String script)
执行指定的脚本。get(String key)
检索在此引擎状态下设置的值。put(String key, Object value)
在ScriptEngine的状态下设置一个键/值对,可以创建一个Java语言绑定,以便在执行脚本时使用,或者以某种其他方式使用,具体取决于该键是否被保留。
代码示例
public void hello() throws Exception{
ScriptEngineManager manager = new ScriptEngineManager();
//JavaScript可以简写为js
ScriptEngine engine = manager.getEngineByName("JavaScript");
//也可以采用ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
engine.eval("print('hello word!!')");
}
hello.js脚本文件
print(hello);//支持print()打印
public void hello() throws Exception {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
String script = FileCopyUtils.copyToString(new FileReader("hello.js"));
String hello = "hello word!";
engine.put("hello", hello);
engine.eval(script);
}
标签:脚本,文件,java,String,js,engine,ScriptEngine,hello,ScriptEngineManager 来源: https://www.cnblogs.com/lingdu9527/p/11857918.html