В вашей программе на 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