我一直在試圖弄清楚如何在Java中製作一種類似於ComputerCraft's的CraftOS接口,使用已知的庫(如jBASH和luaj),但似乎我遇到的任何問題或者不再被維護或者不能很好地運行。不幸的是,dan200保持他的源鎖和鑰匙,所以我什至不知道他是如何做到這一點......在應用程序中的Java命令行
這是否意味着我可能最終不得不創建我自己的BASH-Y殼和/或我自己的LUA-y腳本編寫方法,還是現在正在維護的東西至少有些可用?
我一直在試圖弄清楚如何在Java中製作一種類似於ComputerCraft's的CraftOS接口,使用已知的庫(如jBASH和luaj),但似乎我遇到的任何問題或者不再被維護或者不能很好地運行。不幸的是,dan200保持他的源鎖和鑰匙,所以我什至不知道他是如何做到這一點......在應用程序中的Java命令行
這是否意味着我可能最終不得不創建我自己的BASH-Y殼和/或我自己的LUA-y腳本編寫方法,還是現在正在維護的東西至少有些可用?
只是跟進我的評論與一些代碼;
Process p = Runtime.getRuntime().exec("/bin/bash");
InputStream stdout = p.getInputStream();
InputStream stderr = p.getErrorStream();
OutputStream stdin = p.getOutputStream();
而且你可能會換那些BufferedReader
和BufferedWriter
分別,這樣就可以將它們作爲字符流,讓你做的事情,如文本的讀寫線。例如;
BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));
[…]衆所周知庫,例如jBASH和luaj,但它似乎什麼我遇到或者不能維持了或不工作都非常清楚。
Luaj在Sourceforge上評分很高;它是一年前最後更新的;並且從那時起缺乏更新可能意味着它並沒有真正需要更新。 Lua是一個非常簡單的語言。
即使你發現luaj對你來說不是100%完美,我想可以修改它比「不得不創建我自己的BASH-y shell和/或我自己的LUA-y腳本方法」 。 (後者可能不會給予100%的完美結果,或者,除非你已經有實施經驗的腳本語言。)
我可能已經錯過了點,但有什麼只從運行bash阻止你從Java和管道標準流到你的用戶界面? – lynks