C#和Java之间的通信:进程

时间:2013-06-03 13:13:36

标签: c# java process compilation native

我搜索使绑定成为Java进程和C#进程。 我的最后一个想法是:将java进程编译成.exe,以便直接从c#进程启动它而不通过java.exe

有可能吗?如果是的话,你能帮我一点吗?

度过美好的一天

编辑:这个topic不是我的问题的答案,因为如果我想要使用进程,那是因为我希望c#进程运行java进程

2 个答案:

答案 0 :(得分:1)

您可以使用Process框架来启动Java程序(编译为可运行的JAR)并传入命令行参数,这些参数允许Java程序“知道”如何表现,假设通信不是'这两个程序之间非常复杂。

Process javaProcess = new Process();
javaProcess.StartInfo.FileName = "C:\\Path\\To\\yourJavaProgram.jar";
javaProcess.StartInfo.Arguments = "EXECUTE_FROM_C_SHARP"; //or whatever
javaProcess.Start();

//Wait for the Java program to finish doing its thing before resuming
javaProcess.WaitForExit();

答案 1 :(得分:0)

利用stdin和stout流。在C#中调用java程序启动一个新进程。进程的stdin将路由到java进程的stdin(默认为System.in)。同样适用于标准输出。