/*
* 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();
댓글 없음:
댓글 쓰기