0
Я использую следующий код для чтения InputStream
от Runtime.Exec()
.Не удалось прочитать InputStream
КОД:
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;
}
Но он возвращает:
StackTrace:
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