Utilisation de la sérialisation

Soyez le premier à donner votre avis sur cette source.

Vue 3 759 fois - Téléchargée 345 fois

Description

Cette source donne un exemple de l'utilisation de la sérialisation. J'utilise une classe simple TauxTva qui ne contient qu'un seul attribut : la valeur de ce taux.

Le zip contient la classe TauxTva, la clase SerialiserListeTaux qui permet de serialiser et desérialiser une liste de taux de tva. Le zip contient également deux lanceurs permettent d'appeler les différentes fonctions de la classe SerialiserListeTaux.

La source ne contient que la classe SerialiserListeTaux.

Source / Exemple :


 
package fr.julien.exserialisation;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;

/**
 * <b>Cette classe permet de gerer la serialisation et la deserialisation d'un taux de tva.</b>
 * <p>
 * C'est un singleton
 * </p>
 * 
 * @author Julien
 * @version 1.0
 *
 */
public class SerializerListeTauxTva {

    /**
     * L'unique instance du singleton
     */
    private static final SerializerListeTauxTva instance = new SerializerListeTauxTva();
    
    /**
     * Lee fichier dans lequel on enregistre les taux de tva
     */
    private final String cheminFichierSauvegarde = "C:\\tva.txt";

    /**
     * Constructeur prive du singleton
     */
    private SerializerListeTauxTva() {
        super();
    }

    /**
     * Methode qui permet d'enregistrer la liste des taux de tva
     * @param taux
     *     Les taux a enregistrer
     */
    public void serialiser(List<TauxTva> taux){
        FileOutputStream fichier=null;
        ObjectOutputStream oos=null;
        try {
            fichier = new FileOutputStream(cheminFichierSauvegarde);
            oos = new ObjectOutputStream(fichier);
            oos.writeObject(taux);
            oos.flush();
        } 
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } 
        catch (IOException e) {
            e.printStackTrace();
        }
        finally {
            try {
                if(oos!=null){
                    oos.close();
                }
                if(fichier!=null){
                    fichier.close();
                }
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

    /**
     * Methode qui permet de reconstituer la liste des taux de tva
     * @return la liste des taux de tva precedemment enregistres
     */
    @SuppressWarnings("unchecked")
    public List<TauxTva> deserialiser(){
        List<TauxTva> res = null;
        try {
            FileInputStream fichier = new FileInputStream(cheminFichierSauvegarde);
            ObjectInputStream ois = new ObjectInputStream(fichier);
            res = (List<TauxTva>) ois.readObject();
        }
        catch (java.io.IOException e) {
            e.printStackTrace();
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return res;
    }

    /**
     * Methode d'acces a l'unique instance de la classe
     * @return l'instance de SerialiserListeTaux
     */
    public static SerializerListeTauxTva getInstance() {
        return instance;
    }



}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de cs_GodConan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.