Как я могу запустить скрипт Ruby из командной строки и получить ответ, используя код Java?

Мне нужно запустить скрипт Ruby, используя командную строку из кода Java.

Например, мой файл находится по пути D:/MyProject/myruby.rb.

Я хочу запустить этот файл из командной строки и получить от него ответ. Как я могу этого добиться?

Кроме того, как мы можем вернуть ответ в myruby.rb, который может быть перехвачен в командной строке.


person Rajaa    schedule 07.08.2013    source источник
comment
Отвечает ли это на ваш вопрос: stackoverflow.com/ вопросы/1369860/?   -  person Richard Cook    schedule 07.08.2013


Ответы (1)


Вы можете использовать это:

String[] commands = {"ruby","D:/MyProject/myruby.rb"};

Runtime rt = Runtime.getRuntime();

Process proc;
try
{
    proc = rt.exec(commands);
    BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
    String s;

    while ((s = stdInput.readLine()) != null) 
    {
        System.out.println(s);
    }
}
catch (IOException e)
{
    e.printStackTrace();
}
person amaurs    schedule 07.08.2013
comment
Мой файл Ruby находится в каталоге D:/MyProject. Итак, где можно указать путь - person Rajaa; 07.08.2013
comment
Затем вы должны указать полный путь в массиве строк String[] commands = {ruby, D:/MyProject/myruby.rb}; - person amaurs; 07.08.2013