我正在使用JAVA爲控制檯程序編寫GUI。它啓動並運行良好,但是當我向stdin發送「\ n」或「\ r \ n」時,它不作出反應,因爲它只是在終端中啓動此程序並按下「Enter」鍵。控制檯程序在發送 n到stdin時沒有反應
此代碼用來啓動過程:
String cmd="example.exe";
process = new ProcessBuilder(cmd).start();
而這個代碼是用來發送「\ n」
OutputStream outputStream = process.getOutputStream();
outputStream.write("\n".getBytes());
outputStream.flush();
在另一個線程我試圖從這個過程中
閱讀while ((line = is.readLine()) != null && !Thread.currentThread().isInterrupted()) {
...
}
我該如何正確發送「\ n」以接收來自過程的信息?
更新: 我需要發送一個新的線符號。或「按Enter」。 我讀出和錯誤,都是空的。 應用程序始終將其狀態作爲對按下回車鍵的反應。所以沒有反應是一個錯誤。
使用任何可以解釋它的字符流。 – 2015-02-09 11:49:20
歡迎使用堆棧溢出。爲了得到很好的幫助,你可能需要指定你期望發生的事情 - 爲什麼你會期望它的行爲與它的行爲有什麼不同?你想要發生什麼?你想讓「接收」線程發送字節碼「\ n」嗎? – 2015-02-09 11:57:37