при попытке выполнить пакет r с использованием java завершается с кодом ошибки 2

#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 на расширение файла.

Надеюсь, это помогло.