Wie schreibe ich ein Objekt in eine Datei in Java?

So schreiben Sie ein Objekt in eine Datei in Java

Java-Objekte können für den zukünftigen Zugriff in eine Datei geschrieben werden. Dies wird alsSerialization bezeichnet. Dazu müssen SieSerializable+`interface, and use `+ObjectOutputStream implementieren, um Objekte in eine Datei zu schreiben.

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

1. Objekt

Erstellen Sie ein Adressobjekt und implementieren Sie dieSerializable-Schnittstelle. Dieses Objekt wird in eine Datei geschrieben.

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. Objekt in Datei schreiben

Diese Klasse schreibt das Objekt "Adresse" und seinen variablen Wert ("Wall Street", "United State") in eine Datei mit dem Namenc:\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
Bitte lesen Sie diesen Artikel überhow to read the saved object from file – Java.