Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Serializace objektů do souboru

  1. 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
 
    try {
        // Serializace do souboru
        ObjectOutputStream out = new ObjectOutputStream(
            new FileOutputStream("mujseznam.dat")); 
            // jméno souboru
        out.writeObject(object);
        out.close();             // 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:

    try {
        // Načtení ze souboru
        File file = new File("mujseznam.dat");
        ObjectInputStream in = new ObjectInputStream(
                     new FileInputStream(file));
        // Deserializace objektu
        SeznamZaznamu sz = (SeznamZaznamu) in.readObject(); 
        //přečtu objekt a pokusím se jej přetypovat
        in.close();
    } 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);
    }

courses/b0b36pjv/tutorials/08/serializace.txt · Last modified: 2018/04/17 09:55 by mudromar