Est-il possible d'exécuter des fichiers binaires en Java?
Question
J'ai une liste de binaires écrits en Java, Ada, C et Python et je veux les exécuter. Comment puis je faire ça? Y at-il une machine virtuelle Java se liant à ces langues?
La solution
Si tout ce que vous voulez faire est d'exécuter applictions existants, vous pouvez utiliser les méthodes de exec
de la java.io.runtime
espace de noms.
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("path to my executable.exe");
Autres conseils
Oui. Voici un lien vers un bon article de blog sur la façon de le faire: l'exécution des commandes du système en Java .
L'essentiel de ce que vous devez faire ce qui suit:
// run the Unix "ps -ef" command
// using the Runtime exec method:
Process p = Runtime.getRuntime().exec("ps -ef");
Vous pouvez mettre à peu près toute commande là-dedans, mais le seul Gotcha que j'ai rencontré en être au courant des variables d'environnement système comme le chemin que vous utilisez votre machine virtuelle Java dans.
Si vous voulez interagir avec l'API binaire, utilisez:
- Java Native Access (JNA) :. Pour les DLL de chargement et d'appel
- Java Native Interface (JNI) :. Pour envelopper une bibliothèque C en Java