Quel est le moyen le plus simple d'appeler un programme avec un morceau de code Java? (Le programme que je veux lancer est aiSee et il peut être exécuté à partir de la ligne de commande ou de Windows GUI, et je suis sur Vista mais le code sera également exécuté sur les systèmes Linux).Exécution d'un programme à partir du code Java
Répondre
Jetez un oeil à Process et Runtime classes. Gardez à l'esprit que ce que vous essayez d'accomplir n'est probablement pas indépendant de la plateforme.
Voici un petit morceau de code qui pourrait être utile:
public class YourClass
{
public static void main(String args[])
throws Exception
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("name_of_your_application.exe");
int exitVal = proc.exitValue();
System.out.println("Process exitValue: " + exitVal);
}
}
One question S.O. discuter des problèmes similaires. Another un. And un autre.
La difficulté que vous rencontrerez est comment obtenir l'application à connaître le chemin. Vous pouvez utiliser un fichier xml ou config, mais si vous utilisez ce lien, il doit expliquer comment exécuter un fichier: http://www.javacoffeebreak.com/faq/faq0030.html
Je vais probablement passer comme argument de ligne de commande, comme l'a suggéré Nathan. C'est gênant, mais ça va devoir faire –
Vous pouvez obtenir une instance d'exécution en utilisant Runtime.getRuntime()
et appeler la méthode exec
du temps d'exécution, la commande pour exécuter le programme en tant qu'argument.
Par exemple:
Runtime runTime = Runtime.getRuntime();
Process proc = rt.exec("iSee.exe");
Vous pouvez également capturer la sortie du programme en utilisant obtenir le InputStream du processus.
d'accord, merci; cependant, puisque la sortie est graphique (aiSee affiche les graphiques des descriptions GDL), je ne vais probablement pas le traiter plus loin; mais il est bon de savoir que j'ai cette option –
Vous pouvez également envisager de transmettre une sorte d'argument à votre programme pour faciliter la recherche du programme spécifique que vous souhaitez exécuter.
Cela peut être avec des arguments de ligne de commande, des fichiers de propriétés ou des propriétés système.
- 1. Exécution d'un programme Java
- 2. Eclipse - Compilation et exécution du programme
- 3. Exécution d'un autre programme à partir du projet C# setup
- 4. Appeler Snarl à partir du code java
- 5. Exécution du code python à partir de l'application Cocoa standard
- 6. Compilation et exécution de code C# par programme
- 7. Exécution indépendante de scripts shell à partir d'une application Java
- 8. Exécution d'un programme de ressort à l'intérieur du serveur d'applications
- 9. Exécution de sélénium à partir d'un processus Java
- 10. Exécution d'un autre fichier jar dans un programme Java
- 11. Eclipse: arrêt du code (java)
- 12. Win32: Exécution atomique du bloc de code
- 13. Exécution d'un script à partir de Groovy
- 14. Exécution du code C++ via NUnit
- 15. Comment exécuter un programme externe à partir de Java?
- 16. Comment exécuter un programme Java à partir d'un répertoire différent?
- 17. Exécution de la méthode à partir du balisage
- 18. Java et exécution manuelle finalize
- 19. Optimisation du code Java
- 20. Générer DropDownList à partir du code derrière
- 21. Liaison combobox avancée à partir du code
- 22. Accès objet XAML à partir du code
- 23. Exécution d'événements ASP.NET à partir de javascript
- 24. Est-il possible de capturer un system.out.print à partir du programme Java dans une variable csh?
- 25. Utilisation de l'API Java à partir d'un programme Cobol
- 26. Exécution d'un code java donné dans un fichier texte
- 27. Exécution du filtre "Luminosité" de Photoshop par programme
- 28. C# winforms: détermine la première exécution du programme
- 29. Accès à une source de données ColdFusion à partir du code Java
- 30. Comment appeler le code Java à partir de C#?
Ok, merci beaucoup. Oui vous avez raison: il ne peut pas être indépendant de la plate-forme (puisque les deux systèmes auront probablement le programme dans un endroit différent). Qu'est-ce que je pensais avec ça? –