Merci pour la réponse et les précisions.
Effectivement, je n'avais pas considéré le rôle de writeStreamHeader(), et je me retrouve avec un assemblage de poupées russes.
Concernant le fichier system.txt, il aurait pu être traité comme un fichier de logs ( ce qu'il est réellement), mais je l'ai pris comme exemple le plus simple des divers fichiers que j'avais a traiter et auxquels je voulais appliquer une procédure générique.
Donc partant du fait que ObjectInputStream et ObjectOutputStream ne sont pas les plus appropriés, je vais poser le problème dans sa globalité.
J'ai 3 classes (Coefficients, Commandes, et une 3ème non finalisée) sur le modèle suivant :
1 2 3
| String identifiant;
string, int, boolean, float;
getters/setters |
Chaque classe va différer sur le nombre de string, int, float, boolean.
J'ai donc 3 fichiers (coefficients, commandes, ... ) qui vont recevoir les objets lors de l'instanciation de ces classes (d'ou l'utilisation de append()).
Pour la lecture, j'ai besoin de récupérer soit un des objets du fichier (lecture séquentielle et accès identifiant), soit le dernier objet du fichier.
J'ai un dernier cas de fichier qui concerne des objets de classe1 et de classe2 : ce fichier a une structure de "blocs" qui sont construits comme suit :
{obj-class1, obj-class1, obj-class2, obj-class2, obj-class2, obj-class2}
Il y a donc écriture de 6 objets consécutifs.
Dans ce cas je dois faire une lecture modulo 6, et lorsque j'ai récupéré un bloc effectuer un traitement adéquat.
Partant de ces considérations, j'aimerais savoir quelles sont les classes de java.io qui sont le plus à même de répondre à mes besoins.

Envoyé par
joel.drigo
Avec ObjectOutputStream/InputObjectStream, il va te falloir bidouiller :
Pas terrible : je vais avoir l'impression de revenir au langage C !!
Partager