javax.scriptを使う
Java6でJSR-223 Scripting APIとして採用されたスクリプト言語のサポートです。
Java7になった現在も、JavaScript(Rhino)は標準で同梱されていますが、 その他の言語、BeanShellやPython(Jython)のサポートなどはあまり進んでいないようです。 以前は https://scripting.dev.java.sum/ というサイトがあったはずなのですが、 現在はなくなっています。

サポートされている言語の確認
JDKのbinにあるjrunscriptにオプション-qをつけて実行すると、 サポートしている言語の一覧が表示されます。 というか、JDK 1.7.0_15の現在、JavaScript(Rhino)だけです。

解釈実行するサンプル

package test.scripting;
import javax.script.*;

public class JavaScriptExample1 {
    public static void main(String[] args) throws Exception {
        ScriptEngineManager factory = new ScriptEngineManager();
        ScriptEngine e = factory.getEngineByName("js");

        // 変数をスクリプトに渡す
        e.put("a", new Integer(3));
        e.put("b", new Integer(5));
        try {
            e.eval("print(\"Hello, JavaScript! a+b=\" + (a+b))");
        } catch (ScriptException ex) {
            ex.printStackTrace();
        }
    }
}

ファイルを読んで実行するサンプル
eを取得するまでは上と同じです。

BufferedReader reader = null;
try {
    reader = new BufferedReader(
            new InputStreamReader(new FileInputStream(fileName), "MS932") );
    e.eval(reader);
} catch (ScriptException ex) {
    ex.printStackTrace();
} finally {
    if(reader != null){
        reader.close();
    }
}

Java kowaza Top

(first uploaded 2013/06/02 last updated 2013/06/02, MISUMI URANO)