Я использую Runtime.getRuntime (). Exec (test.class) для создания процесса и запуска файла test.class.
test.class:
public class test {
public static void main(String[] args) {
doReturn();
}
public static String doReturn() {
System.out.println("printed output");
return "returned output";
}
}
inJava-приложение, запускающее этот процесс, я хотел бы получить выходные данные этого test.class
Код, который я использую, выглядит следующим образом:
Process proc = null;
String[] cmd = { "java", "test"};
proc = Runtime.getRuntime().exec(cmd);
InputStream inputStream = proc.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null)
{
System.out.println(line);
}
Этот фрагмент кода не работает:ничего не печатается, и я получаю значение Exitvalue 1 для моего процесса.
=> Как мне изменить его (и / или изменить test.class), чтобы он возвращал «напечатанный вывод» в мое Java-приложение?=> Можно ли также вернуть «возвращенный результат»?
(Я новичок в Java, поэтому не могли бы вы быть очень подробным в своих ответах! Спасибо!)