有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在c中使用参数执行Java应用程序#

我自己也做过研究和尝试,但运气不好。我正在尝试执行一个java应用程序,并向它传递一些变量。它找到java并运行它,但不传递任何变量,这是我到目前为止得到的-

Process proc = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.Arguments = @"-jar javaapp.jar" + "host:port" +     "password" + "/say" + "test";
        startInfo.FileName = "java";
        proc.StartInfo = startInfo;
        proc.Start();

我根本无法解决这个问题。我不想使用任何第三方软件(除非它可以打包在.EXE中),因为这是为了分发给需要它的人。谢谢你的帮助


共 (2) 个答案

  1. # 1 楼答案

    参数是一个字符串——按照您的方式,它们将被混合在一起,没有空格分隔它们

    C#中的@符号用于字符串的文字格式;看起来您正试图使用它来构建阵列或其他东西

  2. # 2 楼答案

    您需要在要连接的字符串中添加空格,您的命令当前如下所示

    java -jar javaapp.jarhost:portpassword/saytest
    

    最简单的方法是使用string.Format

    string command1 = "/say"
    string command2 = "test"
    string args = string.Format("-jar javaapp.jar {0}:{1} {2} {3} {4}", host, port, password, command1, command2);
    startInfo.Arguments = args;