java执行脚本文件

时间:2019-11-14
本文章向大家介绍java执行脚本文件,主要包括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);
    }

原文地址:https://www.cnblogs.com/lingdu9527/p/11857918.html