// ReadObject.java

package objectstreams;

import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.IOException;

import java.nio.file.Files;
import java.nio.file.Paths;

/**
* ReadObject zeigt den Umgang mit Object-Streams.
* @author H.Drachenfels
* @version 16.1.2020
*/
public final class ReadObject {
    private ReadObject() { }

    /**
     * Liest ein Objekt aus einer Datei.
     * Wegen Sicherheitsrisiko nicht nachahmenswert!
     * @param args wird nicht verwendet
     * @throws IOException bei Dateizugriffsfehlern
     * @throws ClassNotFoundException Klasse des gelesenen Objekts unbekannt
     */
    public static void main(String[] args)
        throws IOException, ClassNotFoundException {

        ObjectInput in =
            new ObjectInputStream(Files.newInputStream(Paths.get(args[0])));

        // readObject ist ein Sicherheitsrisiko!
        System.out.println(in.readObject());

        in.close();
    }
}

