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.
Ç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
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(); } }
mais visiblement il n'en veut pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Camps=(TypeCamps)Fich.read();
voici comment sont déclarés mes enum
Merci d'avance pour vos réponses.
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; }
Partager