Maison  >  Article  >  Java  >  Pourquoi la méthode Runtime Exec() de Java ne redirige-t-elle pas la sortie ?

Pourquoi la méthode Runtime Exec() de Java ne redirige-t-elle pas la sortie ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 08:34:29711parcourir

Why is Java's Runtime Exec() Method Not Redirecting Output?

La méthode Runtime Exec() de Java ne redirige pas la sortie

Lors d'une tentative de rediriger la sortie d'un script exécuté avec Runtime.getRuntime(). exec(), les utilisateurs peuvent rencontrer un problème où la redirection est inefficace et aucun fichier de sortie n'est généré.

Pour résoudre ce problème, ProcessBuilder doit être utilisé pour la redirection. L'extrait de code suivant illustre l'approche correcte :

<code class="java">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</code>

Cette approche garantit que la sortie standard et la sortie d'erreur du script sont redirigées vers le fichier spécifié, garantissant ainsi que la sortie du script est capturée avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn