Bonjour à tous,
Je viens enfin de régler mon problème d'initialisation de constante. Je voudrai avois l'avis des pro de Java pour savoir si ça tient la route ou si c'est complètement débile ou si il y a plus simple.

Le pb au départ :
Un fichier d'initialisation ( .properties ) avec différents paramètres : ex : ip=x.x.x.x
Pouvoir utiliser ces paramètres de façon simple dans toutes mes classes Java. Par exemple coder ce genre de chose : Constante.IP ...

Voilà ce que j'ai fait :
La classe Main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public class Main {
 
	public static void main ( String args[]){
		new Config();
		new Constante();
 
		// exemple d'utilisation de la constante
		System.out.println(Constante.IP);
	}
}
La classe Config qui charge le fichier properties
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Config {
 
	static public Properties p = new Properties();
 
	// Constructeur
	public  Config() {
	 	try {
			Config.p.load(ClassLoader.getSystemResourceAsStream("ex.properties"));
	 	} catch (IOException e) {
			 e.printStackTrace();
		}
	}
}
Et finalement la class Constante avec laquelle je travaille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public class Constante {
	// Définition de tte les constantes
	public final static  String IP = Config.p.getProperty("ip");
 
}

J'avais commencé à définir mes constantes dans une interface, mais c'est trop rigide ( d'un côté, c'est aussi normal ... )

Voilà tout ,
@+