В Java использование Runtime.getRuntime().exec() для запуска команды позволяет захватывать данные процесса потоки вывода и ошибок. Однако в тех случаях, когда желательно перенаправление вывода, этот метод сам по себе может оказаться неэффективным.
При использовании Runtime.getRuntime().exec() с командами, которые функция перенаправления вывода, например
Чтобы успешно перенаправить выходные данные, рассмотрите возможность использования вместо этого ProcessBuilder. Этот класс предлагает более детальный подход к созданию процессов, позволяя указать перенаправление вывода и потока ошибок.
Вот как использовать ProcessBuilder для перенаправления вывода:
ProcessBuilder builder = new ProcessBuilder("sh", "somescript.sh");
builder.redirectOutput(new File("out.txt"));
builder.redirectError(new File("out.txt"));
Process p = builder.start(); // may throw IOException
Используя ProcessBuilder, вы можете перенаправить потоки стандартного вывода и стандартных ошибок в нужный файл, гарантируя, что вывод команды будет записан.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3