2013-08-07 11 views
0

我需要使用Java代碼中的命令行來運行Ruby腳本。如何從命令行運行Ruby腳本並使用Java代碼獲取響應?

例如我的文件路徑d:/MyProject/myruby.rb

我要運行命令行此文件,並得到了響應。我怎樣才能做到這一點?

另外,我們如何返回myruby.rb中的響應,這可能會在命令行中捕獲。

+0

這是否回答你的問題:http://stackoverflow.com/questions/1369860/implementing-the-system-command-in-java? –

回答

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(); 
} 
+0

我的Ruby文件位於Directory D:/ MyProject中。那麼在哪裏可以指定路徑 – Prince

+1

然後你應該在String數組中指定完整的路徑String [] commands = {「ruby」,「D:/MyProject/myruby.rb」}; – amaurs