script
Evaluate a script file
With this example we are going to demonstrate how to evaluate a simple script file in Java. We are using the ScriptEngine interface that provides methods for the basic scripting functionality. In short, to evaluate a script file you should:
- Create a new ScriptEngineManager. The ScriptEngineManager implements a discovery and instantiation mechanism for ScriptEngine classes and also maintains a collection of key/value pairs storing state shared by all engines created by the Manager.
- Use the
getEngineByName(String shortName)
method to look up and create a ScriptEngine for a given name. - Create an instance of File object that points to the scripting file.
- Create a FileReader to read the file.
- Use the
eval(Reader reader)
method to execute the script provided by the Reader.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core; import javax.script.ScriptEngineManager; import javax.script.ScriptEngine; import javax.script.ScriptException; import java.io.File; import java.io.Reader; import java.io.FileReader; import java.io.FileNotFoundException; public class EvaluateScriptExample { public static void main(String[] args) { // Obtain JavaScript Engine ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("ECMAScript"); try { //Create an instance of File object that point to scripting file File script = new File("sample.js"); //create a FileReader to read the file to be passed to the ScriptEngine.eval() method. Reader reader = new FileReader(script); engine.eval(reader); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (ScriptException e) { e.printStackTrace(); } } }
This was an example of how to evaluate a simple script file in Java.