1
我的查詢變量中有我的Java程序生成的查詢。我想將此發送給SWI-Prolog以獲得此解決方案。下面顯示了我在Java中編寫的與SWI-Prolog進行通信的子代碼。從Java程序中傳遞SWI-Prolog查詢
Process P= new ProcessBuilder("C:\\Program Files\\swipl\\bin\\swipl-win.exe").start();
BufferedReader processOutput = new BufferedReader(new InputStreamReader(P.getInputStream()));
BufferedWriter processInput = new BufferedWriter(new OutputStreamWriter(P.getOutputStream()));
String commandToSend = Query;
processInput.write(commandToSend);
但SWI-Prolog的窗口打開了,但我寫信給ProcessInput的COMAND沒有被髮送到SWI-Prolog的。艾索可以告訴我做這件事的最好方法嗎?我也需要在SWI-Prolog中的查詢執行的輸出。
使用'ProcessBuilder'似乎是接口的Java和Prolog的一個麻煩的方式。你有沒有考慮過使用不同的API? http://stackoverflow.com/q/4303931/1407656 – toniedzwiedz
我發現可以用作Java和SWI-Prolog的接口的JPL。但即使這樣也不夠豐富...... – AnanthaPadmanabhan