J'ai une liste de binaires écrits en Java, Ada, C et Python et je veux les exécuter. Comment puis-je faire cela? Y a-t-il une liaison JVM dans ces langues?Est-il possible d'exécuter des fichiers binaires dans Java?
Répondre
Si tout ce que vous voulez faire est d'exécuter des applications existantes, vous pouvez utiliser les méthodes exec
de l'espace de noms java.io.runtime
.
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("path to my executable.exe");
Oui. Voici un lien vers un bon article de blog sur la façon de le faire: Running system commands in 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 à peu près mis toute commande là-dedans, mais le seul Gotcha que j'ai rencontré à être au courant des variables d'environnement système comme le PATH que vous utilisez votre machine virtuelle Java dans
Version mise à jour (2010) de cet article: http://www.devdaily.com/java/java-exec-processbuilder-process-1 – Pops
Cool, nice one LT –
Si vous souhaitez interagir avec l'API de binaires, utilisez:.
- Java Native Access (JNA): pour les DLL de chargement et d'appel.
- Java Native Interface (JNI): pour l'encapsulation d'une bibliothèque C en Java.
Pour les versions ultérieures, il a été déplacé vers java.lang.Runtime. – leijon