Bonjour.

je veux réaliser un prg qui compile des .java et qui affiche la liste des méthodes de la classe compiler.

Au début pour charger la class je faisai:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
aEtudier = Class.forName(name);
mais si la classe changai entre 2 compile ca ne prenais pas en compte les changements.
Aprés un tour dans la faq j'ai donc creer une classe LoaderClass
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
public class LoaderClass extends ClassLoader 
{ 
	public LoaderClass()
	{}
 
  public Class loadNewClass(String aName) throws Exception 
  { 
    InputStream is = getClass().getResourceAsStream("/" + aName); 
    if (null == is) 
    { 
      return null; 
    } 
 
    byte buffer[] = new byte[is.available()]; 
    is.read(buffer); 
    Class c = defineClass(aName, buffer, 0, buffer.length); 
    resolveClass(c); 
    return c; 
  } 
}
Le prb c'est qu'en chargeant la classe de cette façon j'ai une erreur de NullPointerException lorsque j'appel la méthode getConstructors
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
aEtudier = loader.loadNewClass(name);
aEtudier.getConstructors();