Práce se soubory v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidáno fos.close() a fis.close())
(Přístup k obsahu souboru: Přidán odkaz na Textový vstup a výstup a Serializaci)
Řádka 35: Řádka 35:
 
* Vstupní (výstupní) proud je vlastně třída, která umožňuje zapisovat (číst) data z (do) souboru.
 
* Vstupní (výstupní) proud je vlastně třída, která umožňuje zapisovat (číst) data z (do) souboru.
  
=== Příklady ===
+
; Příklady vstupně-výstupních proudů
 
* binární data (obecná data, tedy libovolná posloupnost byte)
 
* binární data (obecná data, tedy libovolná posloupnost byte)
** FileOutputStream
+
** <code>FileOutputStream</code>
** FileInputStream
+
** <code>FileInputStream</code>
 
* textová data
 
* textová data
** BufferedWriter
+
** <code>BufferedWriter</code>
** BufferedReader
+
** <code>Scanner</code>
** Scanner
+
 
 +
Podrobněji viz:
 +
* [[Java: Textový vstup a výstup]]... textové vstupy a výstupy,
 +
* [[Serializace]]... ukládání celých objektů v binárním tvaru.
  
 
== Serializace ==
 
== Serializace ==

Verze z 19. 5. 2014, 08:27

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 vstupně-výstupních proudů

Podrobněji viz:

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
  fos.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();
  fis.close(); //Uzavření souboru

Příklad: poznámkový blok

Další zdroje

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