| 12
 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
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 
 |  
 
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import javax.swing.JTextArea;
 
public class Compilateur {
 
	public String javacFile;
	public String classpath		= "bin";
	public JTextArea console;
 
	public Compilateur(String javacFile, String classpath, JTextArea console)
	{
		this.javacFile 	= javacFile;
		this.classpath 	= classpath;
		this.console 	= console;
	}
 
	public File compiler(File fichier)
	{
		// Recuperation du repertoire courant ou tourne l'application
		String repertoireCourant = System.getProperty("user.dir");
 
		File fichierCompile = null;
 
		String cmd = this.javacFile+" -classpath "+repertoireCourant+"\\"+classpath+" \""+fichier.getAbsolutePath()+"\"";
		String result = "" ;
		boolean erreur = false;
		try 
		{
			result += "--------------------------------------------------\n";
			result += "--                  COMPILATION                 --\n";
			result += "--------------------------------------------------\n";
			result += "Commande : "+cmd+"\n";
 
			// Lance la commande
			Process process = Runtime.getRuntime().exec(cmd);
 
			// Attend que le processus soit terminé
			//process.waitFor();
 
			// Lit les erreurs	
			BufferedReader is = new BufferedReader(new InputStreamReader(process.getErrorStream()));
		    String line;
		    while ((line = is.readLine()) != null)
		    {
		    	erreur = true;
		    	result += line+'\n';
		    }
 
		    if(!erreur)
		    {
		    	String NomSansExtension = fichier.getName().substring(0, fichier.getName().lastIndexOf(".")) ;
		    	fichierCompile = new File(fichier.getParent()+"\\"+NomSansExtension+".class");
 
		    	result += "COMPILATION REUSSIE !\n" +
		    			  "Le fichier "+fichierCompile.getAbsolutePath()+" à été créé";
		    }
		}
		catch(Exception e) 
		{
			result += "[ ERREUR ] COMMANDE INCONNUE : \n";
			result += cmd + " " + e.toString()+'\n';
			result += "Vérifiez la configuration du programme.\n";
		} 
 
		//result += "\n--------------------------------------------------\n";
		console.setText(console.getText()+result+'\n');
 
		return fichierCompile;
	}
} | 
Partager