簡體   English   中英

應用程序內Java命令行

[英]In-application Java command line

我一直在試圖弄清楚如何在Java中創建一種類似於ComputerCraft的 CraftOS接口的命令行,使用jBASH和luaj這樣的已知庫,除了看起來我遇到的任何東西都不再維護或者沒有'功能太好了。 不幸的是,dan200讓他的來源處於鎖定和關鍵狀態,所以我甚至看不出他是怎么做到的......

這是否意味着我可能最終必須創建自己的BASH-y shell和/或我自己的LUA-y腳本方法,或者是否現在維護的東西至少有些可用?

只是用一些代碼跟進我的評論;

Process p = Runtime.getRuntime().exec("/bin/bash");
InputStream stdout = p.getInputStream();
InputStream stderr = p.getErrorStream();
OutputStream stdin = p.getOutputStream();

您可能會分別將它們包裝在BufferedReaderBufferedWriter ,以便您可以將它們用作字符流,從而允許您執行諸如讀取和寫入文本行之類的操作。 例如;

BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));

[...]像jBASH和luaj這樣的已知庫,除了它似乎我遇到的任何東西都不再維護或不能很好地運行。

Luaj在Sourceforge上受到高度評價; 它是一年前的最后更新; 從那以后缺乏更新可能只是意味着它並不真正需要更新。 Lua是一種非常簡單的語言。

即使你發現luaj對你來說不是100%完美,我想它修改它會比“必須創建我自己的BASH-y shell和/或我自己的LUA-y腳本方法”容易得多。 (后者可能不會給出100%完美的結果,除非你已經有實現腳本語言的經驗。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM