Comment écrire un objet dans un fichier en Java

Comment écrire un objet dans un fichier en Java

L'objet Java peut écrire dans un fichier pour un accès futur, cela s'appelleSerialization. Pour ce faire, vous devez implémenter lesSerializable+`interface, and use `+ObjectOutputStream pour écrire des objets dans un fichier.

FileOutputStream fout = new FileOutputStream("c:\\temp\\address.ser");
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(address);

1. Objet

Créez un objet «Adresse» et implémentez l'interfaceSerializable. Cet objet va écrire dans un fichier.

Address.java

package com.example.io;

import java.io.Serializable;

public class Address implements Serializable {

    private static final long serialVersionUID = 1L;

    String street;
    String country;

    public void setStreet(String street) {
        this.street = street;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getStreet() {
        return this.street;
    }

    public String getCountry() {
        return this.country;
    }

    @Override
    public String toString() {
        return new StringBuffer(" Street : ")
                .append(this.street).append(" Country : ")
                .append(this.country).toString();
    }

}

2. Écrire un objet dans un fichier

Cette classe écrira l'objet "Address" et sa valeur variable ("wall street", "united state") dans un fichier nomméc:\temp\address.ser

WriteObject.java

package com.example.io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class WriteObject {

    public static void main(String args[]) {

        WriteObject obj = new WriteObject();

        Address address = new Address();
        address.setStreet("wall street");
        address.setCountry("united state");

        obj.serializeAddress(address);

    }

    public void serializeAddress(Address address) {

        FileOutputStream fout = null;
        ObjectOutputStream oos = null;

        try {

            fout = new FileOutputStream("c:\\temp\\address.ser");
            oos = new ObjectOutputStream(fout);
            oos.writeObject(address);

            System.out.println("Done");

        } catch (Exception ex) {

            ex.printStackTrace();

        } finally {

            if (fout != null) {
                try {
                    fout.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            if (oos != null) {
                try {
                    oos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }
    }

    public void serializeAddressJDK7(Address address) {

        try (ObjectOutputStream oos =
                new ObjectOutputStream(new FileOutputStream("c:\\temp\\address2.ser"))) {

            oos.writeObject(address);
            System.out.println("Done");

        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

}

Note
Veuillez lire cet article surhow to read the saved object from file – Java.