-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathJavaScriptExecutor.java
More file actions
executable file
·38 lines (36 loc) · 1.17 KB
/
Copy pathJavaScriptExecutor.java
File metadata and controls
executable file
·38 lines (36 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.script.SimpleScriptContext;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class JavaScriptExecutor {
public static void main(String [] args) {
try {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
File file = new File(args[0]);
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int)file.length()];
fis.read(data);
fis.close();
//
String s = new String(data, "UTF-8");
String script = s;
//System.out.println("fun: "+ script);
file = new File(args[1]);
FileOutputStream fos = new FileOutputStream(file);
fos.write(engine.eval(script).toString().getBytes());
fos.flush();
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}