簡體   English   中英

從.Net調用Java方法

[英]Call Java method from .Net

我必須從C#.Net concol應用程序中調用java方法。

以下鏈接的解決方案

Process myProcess = new Process();
Process.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "java";
myProcess.StartInfo.Arguments = "-jar D:\\myjava.jar";
myProcess.Start();e

不允許從jar文件向.Net控制台應用程序返回有用的值(例如,字符串對象)。

另一種方法可以使用IKVM,但是開發已經結束,並且在穩定的企業解決方案中使用它似乎已經很老了。

如何調用java方法和geta字符串作為結果值?

IKVM非常重量級(更不用說已停產),因此,如果可以避免它,它可能會更容易。

如果Java程序可以在STDOUT上生成其輸出(即寫入控制台),則可以通過Process對象讀取該輸出。

例如:

Process myProcess = new Process();
Process.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "java";
myProcess.StartInfo.Arguments = "-jar D:\\myjava.jar";
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.Start();
var output = process.StandardOutput.ReadToEnd();

您可能需要嘗試在ProcessStartInfo上設置其他屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM