Práce se soubory v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidána kategorie Java)
m (Zápis a načtení objektu: Doplnění komentářů)
Řádka 59: Řádka 59:
 
=== Zápis a načtení objektu ===
 
=== 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.
+
<div class="Poznamka">Následující kód je zjednodušený, neřeší ošetření vyjímek. Jde nám o schéma použití serializace.</div>
  
 +
Zápis instance třídy <tt>Poznamka</tt> do souboru na cestě <tt>cestaANazevSouboru</tt>:
 
<code>
 
<code>
 
   Poznamka pozn = new Poznamka();
 
   Poznamka pozn = new Poznamka();
 
    
 
    
   File file = new File("cestaANazevSouboru");
+
   File file = new File("''cestaANazevSouboru''");        
   FileOutputStream fos = new FileOutputStream(file);
+
      ''// Označuje soubor (uchovává cestu)''
   ObjectOutputStream objOut = new ObjectOutputStream(fos);
+
   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.write (pozn);
+
   objOut.write(pozn); ''//Zápis samotný''
 
    
 
    
   objOut.close();
+
   objOut.close(); ''//Uzavření souboru''
 
</code>
 
</code>
  
 +
Přečtení instance třídy <tt>Poznamka</tt> ze souboru na cestě <tt>cestaANazevSouboru</tt>:
 
<code>
 
<code>
 
   Poznamka pozn;
 
   Poznamka pozn;
Řádka 80: Řádka 85:
 
   ObjectInputStream objIn = new ObjectInputStream(fis);
 
   ObjectInputStream objIn = new ObjectInputStream(fis);
 
    
 
    
   pozn = (Poznamka) objIn.read(); // lépe by bylo ověřit správnou třídu pomocí instance_of
+
   pozn = (Poznamka) objIn.read();  
 +
      ''// lépe by bylo ověřit správnou třídu pomocí instance_of''
 
    
 
    
 
   objIn.close();
 
   objIn.close();

Verze z 6. 5. 2014, 08:20

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.write(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.read(); 
      // 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