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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
//CREATION DU FICHIER .BAT
try{
nom_bat=repertoire.concat(nom_du_composant);
nom_bat=nom_bat.concat(".bat");
System.out.println(""+nom_bat);
File file1=new File(nom_bat);
FileOutputStream file1Stream = new FileOutputStream(file1);
String[] adresse=new String[1];
adresse[0]="Executable_C.exe";
write(file1Stream,adresse);
}
catch(IOException ioe){
System.out.println("Could not write file");
}
//Envoi de l'instruction a l'executable C
System.out.println("Début du programme");
try{
String[] commande = {"cmd.exe","/C", nom_bat};
Process p=Runtime.getRuntime().exec(commande);
AfficheurFlux fluxSortie = new AfficheurFlux(p.getInputStream());
AfficheurFlux fluxErreur = new AfficheurFlux(p.getErrorStream());
new Thread(fluxSortie).start();
new Thread(fluxErreur).start();
p.waitFor();
}
catch(IOException e){
e.printStackTrace();
}
catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("Fin du programme");
}
class AfficheurFlux implements Runnable {
private final InputStream inputStream;
AfficheurFlux(InputStream inputStream) {
this.inputStream = inputStream;
}
private BufferedReader getBufferedReader(InputStream is) {
return new BufferedReader(new InputStreamReader(is));
}
@Override
public void run() {
BufferedReader br = getBufferedReader(inputStream);
String ligne = "";
try {
while ((ligne = br.readLine()) != null) {
System.out.println(ligne);
}
} catch (IOException e) {
e.printStackTrace();
}
}
} |
Partager