Bonjour,

J'utilise XStream pour sérialiser un object que je vais nommer globalConfig.

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
 
	public static void saveConfig(GlobalConfig globalConfig) throws FileNotFoundException {
 
		XStream xs = new XStream();
		String globalConfigFileName = Utils.getUtils().getProperty("globalConfigFile", ConfigConstant.PROPERTY_FILE);
 
		File globalConfigFile = new File(globalConfigFileName);
		FileOutputStream fos = new FileOutputStream(globalConfigFile);
 
		try {
			xs.toXML(globalConfig,fos);
		}
		catch (Exception e) {
			//log
		}
		finally {
			try {
				fos.close();
			} catch (IOException e) {
				//Log
			}
		}
	}
Jusque là aucun pb. Cela me génére bien un fichier XML avec les bonne données dedans.

Maintenant lorsque j'essaye de lire ce même fichier XML avec XStream j'ai une exception :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
com.thoughtworks.xstream.io.StreamException:  : Read error
qui est levée.

Mon code
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

  public static GlobalConfig readConfig() throws FileNotFoundException {

		XStream xs = new XStream();
		String filename = Utils.getUtils().getProperty("globalConfigFile", ConfigConstant.PROPERTY_FILE);
		FileInputStream is = new FileInputStream(filename);
		
		if (is != null) {
			try {
				//System.out.print(inputStreamToString(is)); => on voit bien le XML
			} catch (IOException e1) {
				//Log
			}
			try {
				return (GlobalConfig) xs.fromXML(is); // c'est ici que cela plante
			}
			catch (Exception e) {
				//Log
			}
		}
		else {
			throw new FileNotFoundException();
		}
	}
Je ne comprends pas. Je récupère bien la chaine XML du fichier donc ce n'est pas un pb de path ou de droits.
Le XML est généré par XStream lui même donc je ne pense pas que ce soit un problème de parsing du XML ...

Là je n'ai plus d'idée. Si qq'un en a une je suis preneur.
Merci d'avance.