Objektově orientované programování v Javě: Komplexní průvodce
Vstup a výstup (I/O) se zabývá tím, jak program načítá a ukládá data ze zdrojů jako soubory a jak tato data předává mezi systémy pomocí standardních formátů. Tento materiál vysvětluje základní typy tříd a proudů pro práci se soubory, popisuje binární a textové I/O a představuje běžné formáty pro přenos dat: XML a JSON.
Definice: Vstup (input) znamená čtení dat z externího zdroje, výstup (output) znamená zápis dat do externího cíle.
Definice: Objekt „File" představuje položku v souborovém systému (soubor nebo adresář) a poskytuje metody pro základní správu.
Tabulka: srovnání textových a binárních proudů
| Třída / skupina | Typ dat | Vhodné pro | Klíčové vlastnosti |
|---|---|---|---|
| FileWriter / FileReader | Znaky (char) | Zápis/čtení menších textových souborů | Jednoduché, ale neefektivní pro velké soubory |
| BufferedWriter / BufferedReader | Znaky (char) | Efektivní práce s textem | Interní buffer, vhodné pro větší objemy |
| InputStream (abstr.) | Byty (byte) | Základ pro binární vstup | Nadtřída pro všechny binární vstupy |
| FileInputStream / FileOutputStream | Byty (byte) | Obrázky, MP3, PDF, binární soubory | Přímé čtení/zápis do souboru |
| DataInputStream / DataOutputStream | Primitivní typy | Ukládání čísel a primitiv | Umožňuje číst/zapisovat int, float apod. ve strojově čitelném formátu |
| ObjectInputStream / ObjectOutputStream | Objekty | Serializace celých objektů | Umožňuje zapsat objekt, musí implementovat Serializable |
Definice: Serializace znamená převod objektu do sekvence bytů, kterou lze uložit do souboru nebo přenést po síti.
Praktické použití: načtení konfiguračního souboru, logování, import dat z CSV.
Definice: DOM (Document Object Model) je datová reprezentace XML ve stromové podobě, která umožňuje náhodný přístup a úpravy.
Už máš účet? Přihlásit se
Klíčová slova: Programování, Java, Vnitřní třídy, Grafické uživatelské rozhraní, Funkcionální programování, Vícevláknové programování, Perzistence dat, Vstup a výstup
Klíčové pojmy: File reprezentuje soubor nebo adresář a kontroluje existenci a velikost, Files poskytuje moderní utilitní metody jako readAllLines, write, copy, delete, FileReader/FileWriter jsou vhodné pro malé textové soubory, BufferedReader/BufferedWriter mají interní buffer a zvyšují výkon při čtení/zápisu textu, FileInputStream/FileOutputStream čtou a zapisují binární data (obrázky, MP3, PDF), DataInputStream/DataOutputStream ukládají primitivní typy v binárním formátu, ObjectInputStream/ObjectOutputStream umožňují serializaci objektů (Serializable), XML používá DOM, SAX a StAX; XSD kontroluje strukturu; XSLT transformuje XML, JSON je kompaktnější než XML, podporuje streaming, tree model a data binding, Pro webové API se doporučuje JSON, pro starší systémy nebo přísné schémata XML, Používejte buffered proudy pro větší textové soubory a binární proudy pro média, Serializace může být nekompatibilní mezi verzemi tříd