Как мога да стартирам 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 String[] commands = {ruby, D:/MyProject/myruby.rb}; - person amaurs; 07.08.2013