при попытке выполнить пакет r с помощью Java получить Exited с кодом ошибки 2 - PullRequest
0 голосов
/ 17 мая 2011

Небольшая проблема при попытке выполнить пакет 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.Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2015

Я предлагаю вам указать полный путь к пакету R, включая расширение. Это связано с тем, что при запуске из cmd предполагается, что файл находится в текущем рабочем каталоге, однако при запуске из java необходимо указать путь

Ваш код должен выглядеть примерно так:

 pr = run.exec("cmd /c C:/test/R.exe");

Примечание: это не должен быть файл .exe, я просто привел его в качестве примера. для других файлов просто измените exe на расширение файла.

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

0 голосов
/ 17 мая 2011

В Windows код выхода 2 обычно означает «файл не найден». Проверьте, в какой папке вы запускаете «cmd / c R». Вы можете проверить это, создав новый файл и затем выполнив поиск на компьютере, где он был создан, или выполнив команду dir.exe и проверив результат.

...