I have a list of binaries written in Java, Ada, C, and Python and I want to execute them. How can I do that? Are there any JVM binding to those languages?
Is it possible to execute binary files in java?
If all you want to do is execute existing applictions, you can use the exec
methods from the java.io.runtime
namespace.
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("path to my executable.exe");
For later versions it has moved to java.lang.Runtime. –
Belief
Yes. Here is a link to a good blog article on how to do it: Running system commands in Java.
The gist of it is that you need to do the following:
// run the Unix "ps -ef" command
// using the Runtime exec method:
Process p = Runtime.getRuntime().exec("ps -ef");
You can pretty much put any command in there but the only gotcha that I have encountered in be aware of system environment variables like the PATH that you are running your JVM in.
Updated (2010) version of that article: devdaily.com/java/java-exec-processbuilder-process-1 –
Bursa
If you want to interact with the binary API's, use:
- Java Native Access (JNA): for loading and calling DLLs.
- Java Native Interface (JNI): for wrapping a C library in Java.
© 2022 - 2024 — McMap. All rights reserved.