TPs sur les entrées-sorties Java

Richard Grin (grin@unice.fr) Retour TPs


Ce TP reprend l'application sur les factures du TP 8 (version avec la pseudo-base de données constituée avec une table de hachage), et ajoute une sauvegarde et relecture de la base de donnée des articles.


Exercice 1 : Ecrire et lire les données sous forme de texte

Pour cet exercice, on se limite aux stylos.
Ajoutez la possibilité de Pour la relecture, vous utiliserez la méthode String.split pour séparer les données. Attention, le caractère "|" est un caractère spécial pour les expressions régulières (il représente le "ou") et il faut donc le faire précéder de "\" (n'oubliez pas que "\" doit être doublé dans une String java).

Vous testerez dans la méthode main() de la classe Stylo.

Correction :

Stylo.java


Exercice 2 : Ecrire et lire les données en format "binaire"

Même exercice que le précédent, mais vous enregistrerez cette fois-ci les caractéristiques des stylos sous une forme codée (par exemple, le prix ne sera pas enregistré sous la forme d'un texte mais avec le codage lié au type primitif Java double).

Correction :

Stylo.java


Exercice 3 : Ecrire et lire des données complexes, sous forme de texte

Complétez votre code pour enregistrer et relire la base de données des articles (en format texte). Voici une classe que vous utiliserez pour tester votre code : TestEnregistreBDD.

Pour la sauvegarde et relecture de chaque article, essayez de trouver une solution qui marche même si une des classes mères d'un article a des variables d'instances privées qui n'ont pas d'accesseur public ou protected. Pour tester, enlevez tous les accesseurs d'une des variables (par exemple pour la marque).

Ça n'est pas évident d'avoir une solution "extensible", surtout pour la relecture (pensez à ce qu'il faudra faire quand vous ajouterez un nouveau type d'articles au catalogue de la société de commerce). Vous utiliserez un StringTokenizer, un StreamTokenizer ou String.split pour séparer les données à la relecture.

Correction :

Toutes les classes


Exercice 4 : Sérialisation

Regardez comme tout devient simple si vous utilisez la sérialisation : vous enregistrez la base de données en 1 fois !
Et plus de problème d'extensibilité !
C'est si simple que vous ajouterez la possibilité de sauvegarder et de relire une facture.

Correction :

Toutes les classes



  Retour TPs