Salut à tous

J'ai une classe que je sauvegarde dans un fichier en écrivant dans le fichier la valeur de chaque variable privée. Parmi ces variables deux sont du type enum.

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
 
public class Pion {
 
	private TypeCamps Camps; //enum
	private int Valeur;
	private TypePion Type;//enum
	private int X, Y;
 
	public Pion(TypeCamps CA, int V, TypePion Ty, int Xo, int Yo, boolean InitGraph) {
		Camps = CA;
		Valeur = V;
		Type = Ty;
		X = Xo;
		Y = Yo;
........
	}
 
 
 
 
public void Sauve(FileOutputStream Fich){
 
		try {
			Fich.write(Camps.ordinal());
			Fich.write(Type.ordinal());
			Fich.write(Valeur);
			Fich.write(X);
			Fich.write(Y);			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
public void Charge(FileInputStream Fich){
 
	try {
		Camps=Fich.read();		
		Type=Fich.read();
		Valeur=Fich.read();
		X=Fich.read();
		Y=Fich.read();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
Ça se passe bien pour l'enregistrement car j'enregistre (sauf erreur de ma part) la valeur ordinale de mon enum. Par contre pour la lecture je ne sais pas comment faire? J'ai essayé quelque chose comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Camps=(TypeCamps)Fich.read();
mais visiblement il n'en veut pas.
voici comment sont déclarés mes enum
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public enum TypePion {
	Rond,Carre,Triangle,Pyramide;
}
 
public enum TypeCamps {
	Rouge,Bleu;
}
Merci d'avance pour vos réponses.