La sérialisation permet de rendre un objet persistant, en le "détricotant" pour le transformer en un flux d'octets qui pourra être stocké dans un fichier sur disque, ou transmis vers un client distant par une connexion réseau, et à l'inverse, en le "retricotant", le reconstituant à partir du flux.

Le mécanisme de sérialisation inclus dans java est standard et transparent: il suffit d'implémenter l'interface Serializable, qui fournit la capacité pour un objet d'être sauvegardé dans un flux et, au contraire, restitué à partir de celui-ci.

La sauvegarde concerne non seulement les attributs de l'objet, mais aussi tous les objets auxquels cet objet est lié: la sauvegarde se propage automatiquement à la grappe constituée par cet objet et ceux auxquels il est lié: par exemple, la sauvegarde d'un objet Echiquier inclut celle de ses Piece et de leur Position.

Le code source d'un exemple est donné ci-après, ainsi qu'un cas de sauvegarde et de restitution d'un objet au format csv, ce dernier peut aussi être lu et généré par MS-Excel. A noter que pour ce cas d'écriture et de lecture csv, ce n'est pas la sérialisation qui est utilisée, on réalise manuellement la décomposition et la recomposition des attributs de l'objet, notamment dans un constructeur au moyen d'un StringTokenizer, et dans la méthode toCsv()

lire la suite