Как выполнить внешнее приложение с аргументами и получить результат - PullRequest
2 голосов
/ 24 сентября 2019

Как мне выполнить внешнее приложение, передать аргументы и вернуть результат из внешнего приложения, используя java #ProcessBuilder и #RunTime?

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));

Здесь я хочу передать аргументы моему приложению и отправитьаргументы через Java и возвращают результаты

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

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

}

Ответы [ 2 ]

3 голосов
/ 24 сентября 2019

Здесь вы можете найти, как отправить аргументы командной строки в ваше Java-приложение: https://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

Что касается вызова внешней программы на Java: Process proc = new ProcessBuilder ("NconnectLicenseGenerator.exe", String.join ("", args) .start ();

1 голос
/ 25 сентября 2019

Я решил эту проблему, создав консольное приложение в .net и используя его вместе с Java-компоновщиком процессов.

...