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
 
    // 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);
    }

courses/b0b36pjv/tutorials/08/serializace.txt · Last modified: 2020/04/20 18:14 by zidekja2