2013-01-23 81 views
1

只是我想從C sharp代碼執行Jar文件並從jar中獲取返回值。可能嗎?從C sharp代碼執行Jar文件並獲取返回值

如果是這樣給我示例代碼。

我試過以後的事,

  string path = "C:\\Documents and Settings\\Desktop"; 
      Process process = new Process(); 
      process.StartInfo.RedirectStandardOutput = true; 
      process.StartInfo.RedirectStandardError = true; 
      process.StartInfo.UseShellExecute = false; 
      process.StartInfo.WindowStyle = ProcessWindowStyle.Normal; 
      process.StartInfo.CreateNoWindow = false; 
      process.StartInfo.FileName = "C:\\Program Files\\Java\\jre6\\bin\\java.exe"; 
      process.StartInfo.Arguments = "-jar \"" + path + "\\simple.jar\""; 
      process.Start(); 
      String s = process.StandardOutput.ReadToEnd(); 

這裏simple.jar具有將採取arguements並打印在控制檯通過arguemnets主要方法,否則它打印在控制檯沒有arguements。 我試過上面的代碼在這一行(String s = process.StandardOutput.ReadToEnd();)能夠讀取控制檯值。

但我想通過在jar中傳遞值來執行方法,並且方法會返回hashmap(集合)值(我不知道它是否可能)。 請給我這方面的建議。

+0

與其他命令行程序一樣,您可以將其作爲命令行程序運行。 –

+0

http://stackoverflow.com/questions/873809/how-to-execute-a-java-program-from-c涵蓋了這個我認爲。 – Gjordis

回答

5

要在命令行中執行jar文件,請使用java.exe -jar <jar_name>

看一看here看看你如何執行一個命令行程序並在C#中得到它的輸出。

相關問題