如何使用参数执行外部应用程序并接收结果

How to execute external application with arguments and receive result

我如何执行外部应用程序并使用 java #ProcessBuilder 和 #RunTime 传递参数和 return 来自外部应用程序的结果?

public class test {



public static void main(String[] args) {
    try {
        System.out.println("Starting Application");
    //    Runtime runtime =Runtime.getRuntime();

        Process proc= new ProcessBuilder("NconnectLicenseGenerator.exe","ABCDEFGHIJK").start();
        InputStream is = proc.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String line;
        System.out.printf("Output of the program is %s :" ,Arrays.toString(args));

这里我想把Arguments传递给我的App,通过Java和return提交arguments结果

        while((line=br.readLine())!=null)
        {
            System.out.println(line);
        }

        System.out.println("Closing Application");
    } catch (IOException e) {            
        e.printStackTrace();
    }      
}

}

您可以在此处找到如何将命令行参数发送到您的 Java 应用程序: https://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

关于在Java中调用外部程序: Process proc = new ProcessBuilder("NconnectLicenseGenerator.exe", String.join(" ", args).start();

我已经通过在 .net 中制作控制台应用程序并将其与 java process-builder 一起使用解决了这个问题。