Bonjour,
J'utilise un Process pour lancer un script perl.
J'ai testé avec succès cette partie de code sous windows.
seulement, sous linux, le script ne se lance pas. Pourtant quand je tape la commande passé en paramétre, elle fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 try{ String commands = new String("perl + repertoireCourant.getAbsolutePath() + File.separator + "fichiers" + File.separator + "script.pl" + " " + "\"" + f + "\" " + classe.getMethode1() + " " + classe.getMethode2() + " " + classe.getMethode3() + " " + classe.getMethode4() ); Process process = Runtime.getRuntime().exec(commands); // Attendre la fin process.waitFor(); BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream())); System.out.println("commande = " + commands); String resultat = new String(r.readLine()); do { textAreaConcole.append(" $ " + resultat + "\n"); resultat = r.readLine(); } while (resultat != null); } catch (IOException e) { textAreaConcole.append("Erreur lors du lancement\n"); e.printStackTrace(); }
Ce script créer un fichier. Je me demande si ce n'est pas un problème de droit en écriture.
J'ai cherché longtemps et je ne trouve pas d'explications.
Merci d'avance pour vos réponses.
Partager