0
我正在使用以下代碼從Runtime.Exec()
讀取InputStream
。無法讀取InputStream
CODE:
private String inputstreamReader(String[] shellinput) {
InputStream inputstream = null;
String isrval = null;
System.out.println("Entering inputstreamReader");
try {
inputstream = Runtime.getRuntime().exec(shellinput)
.getInputStream();
System.out.println("Tried getRuntime().exec :: "+inputstream.read());
} catch (IOException e) {
System.out.println("Failed getRuntime().exec");
e.printStackTrace();
}
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
try {
isrval = new BufferedReader(inputstreamreader).readLine();
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("TEMPfile is "+isrval);
return isrval;
}
但它返回:
堆棧跟蹤:
02-28 19:34:20.663: I/System.out(20892): Entering inputstreamReader
02-28 19:34:20.694: I/System.out(20892): Tried getRuntime().exec :: -1
02-28 19:34:20.694: I/System.out(20892): TEMPfile is null
任何想法,爲什麼出現這種情況?
什麼是你想在你的exec運行?你確定這是一個有效的命令嗎?此外,你知道你正在讀輸入的第一個字節,當你inputstream.read(),對不對?無論您對其餘部分的期望如何,這是該代碼中的一個錯誤。 – claesv 2012-02-28 14:30:46