#java #runtime
#java — язык #время выполнения #java
Вопрос:
Небольшая проблема при попытке выполнить R
пакет с использованием Java.
Runtime run = Runtime.getRuntime();
Process pr = null;
String line = null;
BufferedReader input = null;
try {
pr = run.exec("cmd /c R");
input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
while((line = input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code " exitVal);
} catch (Exception e) {
e.printStackTrace();
}
Я начинаю Exited with error code 2
. Может ли кто-нибудь мне помочь?
Ответ №1:
В Windows код выхода 2 обычно означает «файл не найден». Проверьте, в какой папке вы запускаете «cmd /c R». Вы можете проверить это, создав новый файл, а затем выполнив поиск на своем компьютере, где он был создан, или выполнив dir.exe команда, а затем проверка результата.
Ответ №2:
Я предлагаю вам указать полный путь к пакету R, включая расширение. Это связано с тем, что при запуске из cmd предполагается, что файл находится в текущем рабочем каталоге, однако при запуске из java путь должен быть указан
Ваш код должен выглядеть примерно так:
pr = run.exec("cmd /c C:/test/R.exe");
Примечание: это не обязательно должен быть exe-файл, я просто привел его в качестве примера. для других файлов просто измените exe на расширение файла.
Надеюсь, это помогло.