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