2014년 9월 23일 화요일

[java] from js file to java( script load) : js 파일로부터 스크립트 로드하기

/*
  * 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();

댓글 없음:

댓글 쓰기