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

时间:2011-07-17 13:44:16

标签: c# java cmd

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

截至目前,我很难运行带有参数的java.exe,在这种情况下,是要执行的.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应用程序。

有什么想法吗?或者我的代码有问题吗?

1 个答案:

答案 0 :(得分:0)

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

首先尝试手动运行java应用程序。你必须这样说:

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

类路径通常是用以下分隔的jar文件列表; (如果你在窗户上)。确保您提供的jar文件的路径是正确的。

祝你好运。