개발/JAVA

js 파일로부터 스크립트 로드하기

쵸코푸들이장군 2018. 2. 10. 21:34

/*

 * js 파일로부터 스크립트 로드하기

 */

public void loadScriptFile() throws IOException {

ScriptEngineManager sem = new ScriptEngineManager();

scriptEngine = sem.getEngineByName("js");

Reader reader;

try{

File currentFolder = new File("js 파일 위치");

for(File f : currentFolder.listFiles(new JsFileFilter("js"))) {

reader = new FileReader(f);

scriptEngine.eval(reader);

}

}catch(FileNotFoundException e) {

e.printStackTrace();

}catch(ScriptException e) {

e.printStackTrace();

}

}

 

 

/*

 * js 파일만 필터

 */

public class JsFileFilter implements FilenameFilter {

private String endWith;

public JsFileFilter(String endWith){

this.endWith = endWith;

}

public boolean accept(File dir, String name) {

return name.toLowerCase().endsWith(endWith);

}

 

}

 

 

 

 

//읽기

Invocable invocable = (Invocable) scriptEngine;

scriptEngine.put("num", num);

Double numberString= (Double) invocable.invokeFunction("스크립트 함수 이름");

numberStringScore = numberString.floatValue();