Bonjour,

j'ai besoin d'enregistrer quelque valeur dans un fichier .properties, c'est valeur sont mis a jour dans une classe java, je veux récupérer ces valeurs dans une page jsp mais les valeurs retourné dans le fichier JSP sont tourjours nulle.

Voici le code java dans le quel je fait la mise à jour des valeurs du 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
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
 
 Properties props = new Properties();
			InputStream input = getClass().getClassLoader().getResourceAsStream("lastModif.properties");
 
			try
			 { 
 
				props.load(input);
				props.setProperty(USER_ID, "valeur");
				System.out.println("ecriture fait");
				System.out.println("la valeur dans le fichier est :"+props.getProperty(USER_ID)); // je vérifie que la valeur est ecrite
 
 
			}
    	catch(Exception e)
    	{
    		System.out.println(e.toString());
    		System.out.println(" erreur d'ecriture dans le fichier properties");
    	}
    	finally{
    		input.close();
    		System.out.println("fermeture du fichier fait");
    	}
    	try
    	{
    		FileOutputStream flt = new FileOutputStream("lastModif.properties");
    		 OutputStreamWriter ow = new OutputStreamWriter(flt);
		System.out.println(flt.getFD());
 
 
    	props.store(ow, "");
		ow.close();
		flt.close();
		System.out.println("sauvegarde reussi");
		}
		 catch (Exception e){System.out.println(e.toString());System.out.println("erreur de sauvegarde");
			 }
		}	
	catch (Exception e){
		System.out.println("ID user incorrect");
	}
	Properties props = new Properties();
 
	 InputStream input = getClass().getClassLoader().getResourceAsStream("lastModif.properties");
	 props.load(input);
	 System.out.println("la valeur de user Id apres la fermeture du fichier"+props.getProperty(USER_ID));
// lorsque je réouvre le fichier je trouve pas la valeur que j'ai mis plus haut
dans le code jsp

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
Properties props = new Properties();
InputStream input = getClass().getClassLoader().getResourceAsStream("../classes/lastModif.properties");
if (input != null)
{
try{
	props.load(input);
	 userID= props.getProperty(NotepadPortlet.USER_ID,"");
	  System.out.println("lecture fait");
 
}
catch(Exception e)
{
	System.out.println(" erreur de lecteur du fichier properties");
}
finally{
	input.close();
}
}
else System.out.println("input null dans le fichier jsp");
mais toujours User_Id contient la valeur par défaut ""

j'ai essayer aussi de réouvrir le fichier properties juste aprés la fermeture mais les valeurs sont null ce qui veut dire que le sauvegarde n'a pas eu lieu.

est ce que input.close() ne suffit pas pour sauvegarder le flux?

et est ce que props.setproperties(,) ecrit réelement dans le fichier properties ou dans le flux?

Merci d'avance