[英]Command-line interface in Java
我想創建一個跨平台的解決方案,以提供對Java中Process的輸入,錯誤和輸出流的訪問。
基本上,我要創建的是一個文本區域,用於顯示流程的輸出和錯誤流,並允許您向輸入流提供數據。 換句話說,當您運行應用程序時,Eclipse已經提供了其控制台所提供的功能。
現在,基本的實現很容易,我只需將所有按鍵發送到輸入流即可。 但是,當然,我在粘貼,退格鍵和箭頭鍵,處理ctrl-C等方面遇到麻煩。
似乎我應該等待,然后再將數據發送到流程的輸入流。 但是等什么呢? 我應該在每個返回鍵處發送所有輸入(和粘貼)的文本嗎? 還是隔一段時間? ctrl-C , ctrl-X等等。 我是否將箭頭鍵移動發送到輸入流?
最簡單,最人性化的解決方案是使用“發送”按鈕,該按鈕發送文本區域的全部內容並清除它。 考慮一下即時通訊應用或SO評論編輯器。
您不應該等待任何事情,只需發送-而是發送一個單獨的線程,而不是您的GUI事件線程,因此后者不會被阻塞。
要處理特殊字符,請查看在文本控制台中輸入這些符號后會得到什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.