===== Serializace objektů do souboru =====
- Vytvořte třídu Clovek, obsahující položky jméno a příjmení. Tato třída bude mít konstruktor pro vytvoření nového člověka parametry zadaného jména a příjmení.
Vytvořte třídu SeznamLidi, která bude reprezentovat seznam ("databázi") lidí.
Napište metody pro uložení a načtení seznamu do souboru a ze souboru. Zdrojový kód zápisu může vypadat podobně jako:
SeznamZaznamu object = ...;
// Seznam záznamů musí být inicializován.
// Pokud bude ukládání metodou třídy SeznamZaznamu,
// dosaďte místo ... this.
// SeznamZaznamu musí implementovat rozhraní Seralizable
// Serializace do souboru
try (OutputStream fos = new FileOutputStream("mujseznam.dat");
ObjectOutputStream out = new ObjectOutputStream(fos)) {
out.writeObject(object);
// a je to. Jednoduché, že?
} catch (IOException e) {
System.out.println("Chyba při zápisu souboru : "+e);
}
A načtení bude podobné tomuto kódu:
// Načtení ze souboru
try (InputStream fis = new FileInputStream("mujseznam.dat");
ObjectInputStream in = new ObjectInputStream(fis)) {
// Deserializace objektu
// přečtu objekt a pokusím se jej přetypovat
SeznamZaznamu sz = (SeznamZaznamu) in.readObject();
} catch (ClassNotFoundException e) {
System.out.println("Nemohu najít definici třídy: "+e);
} catch (IOException e) {
System.out.println("Chyba při čtení souboru : "+e);
}