Maison > Java > javaDidacticiel > Comment puis-je utiliser de manière fiable Piping avec Runtime.exec() de Java ?

Comment puis-je utiliser de manière fiable Piping avec Runtime.exec() de Java ?

DDD
Libérer: 2024-12-15 22:25:15
original
631 Les gens l'ont consulté

How Can I Reliably Use Piping with Java's Runtime.exec()?

Piping avec Runtime.exec()

En Java, utiliser des opérations de tuyauterie avec Runtime.exec() peut être difficile en raison de croisements incohérences de la plate-forme dans le comportement des tuyaux. Cependant, il existe plusieurs méthodes pour résoudre ce problème.

Exécution de script

Une approche consiste à créer un script qui encapsule les opérations de canal souhaitées et à exécuter le script au lieu de commandes individuelles. Par exemple :

#!/bin/sh
ls /etc | grep release
Copier après la connexion

Ensuite, exécutez le script en utilisant exec:

String[] cmd = {"/bin/sh", "path/to/script.sh"};
Process p = Runtime.getRuntime().exec(cmd);
Copier après la connexion

Shell-Based Pipe

Une autre option consiste à utiliser directement la fonctionnalité pipe du shell, comme suit :

String[] cmd = {
    "/bin/sh",
    "-c",
    "ls /etc | grep release"
};
Process p = Runtime.getRuntime().exec(cmd);
Copier après la connexion

En utilisant l'option "-c", le shell exécute la chaîne de commande spécifiée dans un sous-shell, permettant l'utilisation de tuyaux et d'autres fonctionnalités du shell.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal