2
3 import java.io.Serializable;
4
5 import java.io.ObjectOutput;
6 import java.io.ObjectOutputStream;
7
8 import java.io.ObjectInput;
9 import java.io.ObjectInputStream;
10
11 import java.io.IOException;
12
13 import java.nio.file.Files;
14 import java.nio.file.Path;
15 import java.nio.file.Paths;
16
17 /**
18 * SerializeObject zeigt den Umgang mit Object-Streams.
19 * @author H.Drachenfels
20 * @version 10.1.2019
21 */
22 public final class SerializeObject {
23 private SerializeObject() { }
24
25 private static final class Beispiel implements Serializable { }
26
27 /**
28 * Erzeugt ein Objekt der Klasse Beispiel,
29 * schreibt es in eine Datei "beispiel.ser"
30 * und liest es wieder ein.
31 * @param args Daten für das Objekt
32 * @throws IOException bei Dateizugriffsfehlern
33 * @throws ClassNotFoundException Klasse des gelesenen Objekts unbekannt
34 */
35 public static void main(String[] args)
36 throws IOException, ClassNotFoundException {
37
38 Path p = Paths.get("beispiel.ser");
39
40 //--------------------------------- serialisierbares Objekt erzeugen
41 Beispiel b = new Beispiel();
42
43 //--------------------------------------------- Objekt serialisieren
44 ObjectOutput out = new ObjectOutputStream(Files.newOutputStream(p));
45 out.writeObject(b);
46 out.close();
47
48 //------------------------------------------- Objekt deserialisieren
49 ObjectInput in = new ObjectInputStream(Files.newInputStream(p));
50 Beispiel bb = (Beispiel) in.readObject();
51 in.close();
52
53 System.out.printf("%s%n%s%n", b, bb);
54 }
55 }
56