Bonjour,

Voici deux méthodes que j'ai utilisé dans des projets sans chercher réellement à savoir ce qu'elles faisaient.

Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
    /**
     * @param T t Un objet à sérialiser
     * @param String fichierSortie le fichier dans lequel devra être sérialiser l'objet
     * @return <T> void
     */
    public <T> void serializer(T t, String fichierSortie){
        try {
            // ouverture d'un flux de sortie vers le fichier nomObjet.serial
            FileOutputStream fos = new FileOutputStream(fichierSortie + ".serial");
 
            // création d'un "flux objet" avec le flux fichier
            ObjectOutputStream oos= new ObjectOutputStream(fos);
            try {
                // sérialisation : écriture de l'objet dans le flux de sortie
                oos.writeObject(t);
                // on vide le tampon
                oos.flush();
                System.out.println(t + " a ete serialise");
            } finally {
                //fermeture des flux
                try {
                    oos.close();
                } finally {
                    fos.close();
                }
            }
        }

Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
	public <T> void writeFile(T t, String fichierSortie) throws IOException {
		ObjectOutput out = null;
		try {
			out = new ObjectOutputStream(new FileOutputStream(fichierSortie + ".serial"));
			out.writeObject(t);
		} finally {
			out.close();
		}
	}

Quelle est la méthode à utiliser ?
Laquelle est la plus... fiable ou mieux écrite ?

Quelles sont les différences entre ces deux méthodes ?

Merci à vous,