JAVA mettre un tableau d'objets ds un fichier

Fermé
proxy - 7 déc. 2007 à 09:46
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 7 déc. 2007 à 11:42
Bonjour,
j'ai besoin d'une methode qui permet de stocker un tableau d'objets " persone(string nom , string prenom)" dans un fichier !!
(la classe persone est deja serializable !! );
A voir également:

1 réponse

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
7 déc. 2007 à 11:42
Dans ce cas tu peux soit te faire une classe qui étend la classe ArrayList et qui implement Serializable (si ArrayList ne l'est pas déjà).
Ainsi tu stoke tes objets dans cette liste au lieu d'un tableau, et il ne te restera plus qu'à écrire cet objet dans ton fichier.
Soit tu fais un algo de parcours de ton tableau, et pour chaque entrée tu écrit ton objet récupéré du tableau, et un caractère séparateur (; par ex), ce qui te permetttra de faire une lecture / load par rapport au ';' par la suite.

Pour ce qui est d'écrite un objet dans un fichier, outre le fait que cet objet soit Serializable, il faut juste utiliser la méthode writeObject() comme suit :
FileOutputStream fos = new FileOutputStream("t.tmp");
	ObjectOutputStream oos = new ObjectOutputStream(fos);

	oos.writeInt(12345);
	oos.writeObject("Today");
	oos.writeObject(new Date());

	oos.close();


Pour la relecture, soit tu met des ';' entre chaque objet enregistré, soit au début tu écrit le nombre d'entrée (taille de ton tableau) puis tous les éléments. Ainsi dans ta méthode de lecture, tu commencera par lire le nombre d'élément, puis boucler sur ce nombre pour charger un à un les objets.
2