public static void executeCommand(String cmd) {
try {
Process process = Runtime.getRuntime().exec(cmd, null,
new File("/usr/hadoop-0.20.2/"));
InputStream stdin = process.getInputStream();
InputStreamReader isr = new InputStreamReader(stdin);
BufferedReader br = new BufferedReader(isr);
String line;
System.out.println("<output></output>");
while ((line = br.readLine()) != null)
System.out.println(line);
InputStreamReader esr = new InputStreamReader(
process.getErrorStream());
BufferedReader errorReader = new BufferedReader(esr);
String lineError;
while ((lineError = errorReader.readLine()) != null)
System.out.println(lineError);
process.waitFor();
System.out.println("");
} catch (Exception e) {
e.printStackTrace();
}
}
這是我的代碼,用於執行名爲'cmd'的命令。但我無法通過此代碼獲得實時輸出。命令結束時輸出。我想要實時輸出。有沒有辦法做到這一點?我想實時輸出我的Runtime.getRuntime()。exec()
請您澄清一下您的實時輸出與命令執行時的含義。你的意思就像'ls'產生的完整代碼清單? – Edmon 2012-08-03 03:13:52