Maison >Java >javaDidacticiel >Pourquoi la méthode Runtime Exec() de Java ne redirige-t-elle pas la sortie ?
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!