«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно выполнять внешние программы и получать их выходные данные на Java?

Как я могу эффективно выполнять внешние программы и получать их выходные данные на Java?

Опубликовано 15 ноября 2024 г.
Просматривать:993

How can I effectively execute external programs and retrieve their output in Java?

Выполнение внешних программ на Java

В вашей программе на Java вы пытаетесь выполнить внешнюю программу («program.exe») с помощью Runtime.exec( ) метод. Хотя ошибок не возникает, программа выглядит неэффективной.

Приведенный код использует метод Runtime.exec(params) для запуска внешней программы. Однако этот метод имеет ограничения при обработке входных и выходных данных между программой Java и внешним процессом.

Чтобы эффективно взаимодействовать с внешней программой и получать ее выходные данные, вы можете использовать класс ProcessBuilder. Вот пример, демонстрирующий, как выполнить программу program.exe с определенными параметрами:

ProcessBuilder processBuilder = new ProcessBuilder("C:\\Users\\user\\Desktop\\program.exe",
        "C:\\Users\\user\\Desktop\\images.jpg", "C:\\Users\\user\\Desktop\\images2.txt");
Process process = processBuilder.start();

InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String line;
System.out.println("Output of running program.exe with parameters:");

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

В этом коде мы создаем экземпляр ProcessBuilder с необходимыми параметрами. Метод start() используется для запуска внешней программы. Затем мы используем InputStream для чтения выходных данных программы, преобразуем их в символы с помощью InputStreamReader и, наконец, сохраняем их в BufferedReader для упрощения построчной обработки.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3