您可能正在尋找JNI - Java Native Interface。 JNI肯定會滿足你老師對難度的要求。 JNI允許Java代碼在其他語言中調用代碼,並獲得迴應,就像調用Java方法一樣。我知道的JNI最大的問題是本地(C,C++等)代碼中的崩潰也會導致Java程序崩潰。 JNI會將您當前的應用程序的外部腳本內部代碼製作成內容代碼,而且可能比您需要的更困難。
對於更簡單的解決方案,您可能需要查看Java中的ProcessBuilder類。例如:
ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory("myDir");
Process p = pb.start();
InputStream is = p.getInputStream();
// use process p's input stream is to provide input to your process here
OutputStream os = p.getOutputStream();
// use process p's output stream to get the results here
嗯,我已經看了這些,它似乎是唯一的ProcessBuilder運行.EXE文件。 JNI看起來很有前景,但它似乎只與C和C++兼容。我可以使用SWIG(http://www.swig.org/)從Java到C/C++到Ruby/Python。但是,這不是一個非常簡化的解決方案。希望它不會來,所以我會繼續尋找 – Curlystraw 2011-01-10 14:38:14