Alors voila, j'ai un probleme que je ne m'explique pas.
Mon appli java crée un fichier de configuration dans un rep. Je lance ensuite l'exe C++ depuis java mais il ne trouve pas le fichier.
Pourtant que je lance l'exe à la main (directement, sans passer par java), il trouve ce fichier qui est dans le même répertoire. Le fait de le lancer depuis java change quoi?...
la classe de lancement:
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
29
30
31
32
33
34
35
36
37 /** * Appel de l'executable qui va acquerir les donnees, avec synchronisation * * @author Mateo & JS */ package ressources; //--------------------------------------------------------------------------- //Imports import java.io.*; //--------------------------------------------------------------------------- public class Launcher extends Thread { private String commande; /** Création et démarrage automatique du thread */ public Launcher(String commande) { this. commande= commande; this.start(); } public void run() { try{ Runtime run= Runtime.getRuntime(); String cmd= commande; Process proc= run.exec(cmd); InputStream stderr = proc.getErrorStream(); InputStreamReader isr = new InputStreamReader(stderr); BufferedReader br = new BufferedReader(isr); String line = null; while ( (line = br.readLine()) != null) System.out.println(line); /*int exitVal =*/proc.waitFor(); }catch(Throwable t) {t.printStackTrace();} } }
Partager