0
我從一個進程使用通用代碼做閱讀standardOutput去閱讀:的BufferedReader的readLine()等待處理的inputStream
Process p = Runtime.getRuntime().exec("gradlew assembleRelease", null , new File(this.workDir));
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = input.readLine()) != null) {
standardOutput.writeln(line);
}
input.close();
它完美地工作到現在。它使用我的函數standardOutput.writeln(line)將輸出存儲到一個txt文件中。最近我更新了我的服務器,使用gradle 2.8進行編譯,現在我遇到了一個非常嚴重的問題。當gradle失敗時,input.readLine()函數正在等待。我不明白爲什麼。它卡在那條線上。我找不到任何解釋。我認爲這可能是因爲readLine正在等待/ n停止閱讀,並且有可能新的gradle輸出對此有一些問題,但我不確定這是否是問題。
這個問題怎麼解決?
*「當gradle這個失敗」 *和它告訴你在標準輸出流中,不是錯誤流? – Tom
它被鎖定在這裏,我試圖讀取此代碼後的errorStream,但從未達到該代碼 – NullPointerException