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.
