使用C#运行Java应用程序并从CMD获取其输出 - c#

我想使用C#程序运行Java控制台应用程序并获取其输出。

到目前为止,我很难用参数运行java.exe,在这种情况下,Im是要执行的.java文件的名称。

假定已编译的Java控制台应用程序的名称为:JavaConsoleApplication

提取时将显示“ hello world”,并且我还放置了一个JOptionPane MessageDialog,以确保它在我执行C#程序时运行。

我的代码:

System.Diagnostics.Process JavaTest = new System.Diagnostics.Process();
JavaTest.StartInfo.FileName = @"C:\xxxxx\java.exe";
JavaTest.StartInfo.Arguments = "JavaConsoleApplication";
JavaTest.StartInfo.UseShellExecute = false;
JavaTest.StartInfo.RedirectStandardOutput = true;
JavaTest.Start();
richtTextbox1.Text = JavaTest.StandardOutput.ReadToEnd();
JavaTest.WaitForExit();

我现在的问题是我的代码无法使用上面指定的参数运行Java应用程序。

任何的想法?还是我的代码有问题?

参考方案

您忘记提供类路径(参数-cp)。

首先尝试手动运行Java应用程序。您必须说出这样的话:

java -cp YOUR-CLASSPATH JavaConsoleApplication ARGUMENTS-IF-ANY

类路径通常是一个用;分隔的jar文件列表。 (如果您在Windows上)。确保您提供的jar文件的路径正确。

祝好运。

使用C#创建网页弹出窗口 - c#

如何使用c#创建打开的网页作为弹出窗口,并且在关闭弹出窗口时需要运行一个函数。我的意图是在成功完成活动后创建Web登录/注销并运行功能 参考方案 好吧,您并没有付出太多,但是,如果我猜您的体系结构是ASP.NET,那么您应该在页面代码中的服务器上有事件可以处理该事件。如果您对自己的要求有所了解,我们可以为您提供更多帮助。仅出于完整性考虑,您应该知道您不能只在…

使用C#在Linux服务器中检查文件是否已使用.Net Core更新 - c#

我正在做一个.Net Core应用程序,需要检查某些文件最近是否被替换过。基本上检查文件是否被较新版本替换(它可能是同一文件或具有相同的大小,但是由于某种原因被替换了)。我今天在2020年3月4日下午12:32将文件上传到服务器,然后尝试使用File.GetLastWriteTime,但它给了我2019年2月27日,这可能是文件最初创建时或将文件下载到PC时…

使用C#从结果解析JSON数据 - c#

当我尝试从响应中获取Json数据时,它不起作用。我是Json的新手,所以我不确定该怎么做。这是我有atm的代码://process ajax and make API call to active campaign [HttpPost] public ActionResult ProcessPreferences(string categoryTag, st…

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…