Práce se soubory v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Zápis a načtení objektu: Doplnění komentářů)
(Zápis a načtení objektu: Oprava kódu - write<Object>)
Řádka 72: Řádka 72:
 
       ''// Provádí převod objektů na posloupnost byte (serializaci)''
 
       ''// Provádí převod objektů na posloupnost byte (serializaci)''
 
    
 
    
   objOut.write(pozn); ''//Zápis samotný''
+
   objOut.writeObject(pozn); ''//Zápis samotný''
 
    
 
    
 
   objOut.close(); ''//Uzavření souboru''
 
   objOut.close(); ''//Uzavření souboru''
Řádka 85: Řádka 85:
 
   ObjectInputStream objIn = new ObjectInputStream(fis);
 
   ObjectInputStream objIn = new ObjectInputStream(fis);
 
    
 
    
   pozn = (Poznamka) objIn.read();  
+
   pozn = (Poznamka) objIn.readObject();  
 
       ''// lépe by bylo ověřit správnou třídu pomocí instance_of''
 
       ''// lépe by bylo ověřit správnou třídu pomocí instance_of''
 
    
 
    

Verze z 6. 5. 2014, 08:33

Pro podrobnější přehled o způsobech zápisu si pročtete tutoriály: Práce se soubory a Práce s textovými soubory. (Viz také Další zdroje.)
Pozor!!! Od verze Java SE 7 zvažte použití tříd z balíčku java.nio.file!!!

Obsah

Manipulace se soubory

V nově vytvářených projektech zvažte použití rozhraní (interface) java.nio.file.Path a třídy java.nio.file.Files.

Třída java.io.File




Přístup k obsahu souboru

Příklady

Serializace

Co je to serializace?

Jak serializace funguje?

Zápis a načtení objektu

Následující kód je zjednodušený, neřeší ošetření vyjímek. Jde nám o schéma použití serializace.

Zápis instance třídy Poznamka do souboru na cestě cestaANazevSouboru:

  Poznamka pozn = new Poznamka();
  
  File file = new File("cestaANazevSouboru");          
      // Označuje soubor (uchovává cestu)
  FileOutputStream fos = new FileOutputStream(file);       
      // Otevře soubor pro zápis
  ObjectOutputStream objOut = new ObjectOutputStream(fos); 
      // Provádí převod objektů na posloupnost byte (serializaci)
  
  objOut.writeObject(pozn); //Zápis samotný
  
  objOut.close(); //Uzavření souboru

Přečtení instance třídy Poznamka ze souboru na cestě cestaANazevSouboru:

  Poznamka pozn;
  
  File file = new File("cestaANazevSouboru");
  FileInputStream fis = new FileInputStream(file);
  ObjectInputStream objIn = new ObjectInputStream(fis);
  
  pozn = (Poznamka) objIn.readObject(); 
      // lépe by bylo ověřit správnou třídu pomocí instance_of
  
  objIn.close();

Příklad: poznámkový blok

Další zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje