我得到了一個非常奇怪和緊急的問題。我希望你能幫助我。 我正在嘗試讀取正在執行的命令的結果。代碼永遠不會到達println-Statement。如果達到輸出的結尾,它只是「掛起」 程序。沒有失敗也沒有例外。 請幫幫我。我陷入絕望。我的項目是Scala和Java的組合。因此,解決方案的語言無關緊要。我嘗試了兩種。我的項目的編碼是Cp1252。Java/Scala readline的奇怪行爲
這裏是我的代碼
var fileScript = Runtime.getRuntime().exec(PathOfScript)
var isr:InputStreamReader = new InputStreamReader(fileScript.getInputStream())
var in = new BufferedReader(isr)
var line:String = ""
try {
while ({line = in.readLine(); line!= null}) {
println("line: "+line)
}
println("OUTSIDE !!!");
in.close();
}
腳本過程是否實際完成?你確定它是輸出到stdout而不是stderr嗎? – 2013-05-08 16:35:37
PathOfScript var包含什麼? Excatly? – gbtimmon 2013-05-08 16:41:54
路徑爲「c:\\ nusmv \\ nusmv -source script.cmd」。整個輸出可以通過代碼進行訪問......只要「結束」即可。所以它認爲,一切都是標準的。 – user2363125 2013-05-08 16:43:50