Actuellement, j'essaye de créer une application de bureau en utilisant le sélecteur de fichiers de Swing qui va convertir un type spécifique de fichier en un autre, en utilisant cygwin. La partie de code correspondant est:Passer une propriété d'objet au script bash en utilisant java
String[] cmd = new String[]{"C:\\cygwin64\\bin\\mintty.exe", "/cygdrive/c/Users/orhun.vatansever/workspace/extchangegui/src/extchangegui/dene.sh"};
Process pr = Runtime.getRuntime().exec(cmd);
qui fonctionne très bien, mais étant donné que le contenu de mon bashscript est comme
cd "${0%/*}"
java -jar xyz.jar aegis.xyz
Cela signifie que mon code fonctionne pour un fichier xyz spécifique, ce que je veux faire est de sélectionner le fichier et d'exécuter la commande sur ce fichier xyz spécifique. Je peux obtenir le nom de fichier avec myfile.getName(), mais je ne sais pas comment utiliser ces données, où le mettre dans le générateur de processus. Je vois deux solutions, je pense, l'une est de définir un des paramètres du générateur de processus (ne sait pas lequel) à "java -jar xyz.jar" + file.getName() "", l'autre est en train de changer le contenu du script en cliquant le bouton ouvert du sélecteur de fichier (ce qui n'a pas de sens je pense).
Y a-t-il une raison pour laquelle vous exécutez votre script dans un terminal (qui apparaîtra comme une fenêtre sur votre écran)? Vous pouvez exécuter "C: \\ cygwin64 \\ bin \\ bash.exe" à la place et il ne créera pas de fenêtre. –
Je veux que l'utilisateur pour parcourir le fichier, il peut y avoir beaucoup de fichiers xyz et l'utilisateur peut vouloir sélectionner un – Morbidity
OK, cela a du sens alors –