StudyFiWiki
WikiWebová aplikace
StudyFi

AI studijní materiály pro každého studenta. Shrnutí, kartičky, testy, podcasty a myšlenkové mapy.

Studijní materiály

  • Wiki
  • Webová aplikace
  • Registrace zdarma
  • O StudyFi

Právní informace

  • Obchodní podmínky
  • GDPR
  • Kontakt
Stáhnout na
App Store
Stáhnout na
Google Play
© 2026 StudyFi s.r.o.Vytvořeno s AI pro studenty
Wiki💻 Informatika a počítačové vědyObjektově orientované programování v JavěShrnutí

Shrnutí na Objektově orientované programování v Javě

Objektově orientované programování v Javě: Komplexní průvodce

ShrnutíTest znalostíKartičkyPodcastMyšlenková mapa

Úvod

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.

Základní pojmy rozdělené po částech

1) Práce se soubory a cestami

  • File: reprezentace souboru nebo složky. Používá se pro práci s cestou, kontrolou existence a zjištěním velikosti. Hodí se pro jednoduché operace (existence, přejmenování, smazání).

Definice: Objekt „File" představuje položku v souborovém systému (soubor nebo adresář) a poskytuje metody pro základní správu.

  • Files: utilitní třída pro moderní práci se soubory a cestami (čtení všech řádků, zápis, kopírování, mazání). Pracuje s objekty typu Path.

2) Textové vs binární I/O

  • Textové proudy pracují se znaky (char), binární proudy s byty (byte).

Tabulka: srovnání textových a binárních proudů

Třída / skupinaTyp datVhodné proKlíčové vlastnosti
FileWriter / FileReaderZnaky (char)Zápis/čtení menších textových souborůJednoduché, ale neefektivní pro velké soubory
BufferedWriter / BufferedReaderZnaky (char)Efektivní práce s textemInterní buffer, vhodné pro větší objemy
InputStream (abstr.)Byty (byte)Základ pro binární vstupNadtřída pro všechny binární vstupy
FileInputStream / FileOutputStreamByty (byte)Obrázky, MP3, PDF, binární souboryPřímé čtení/zápis do souboru
DataInputStream / DataOutputStreamPrimitivní typyUkládání čísel a primitivUmožňuje číst/zapisovat int, float apod. ve strojově čitelném formátu
ObjectInputStream / ObjectOutputStreamObjektySerializace celých objektůUmožňuje zapsat objekt, musí implementovat Serializable

3) Kdy použít který proud

  • Použijte FileReader/FileWriter pro jednoduché textové soubory s malým objemem.
  • Použijte BufferedReader/BufferedWriter pokud čtete nebo zapisujete větší množství textu (výkon díky bufferu).
  • Použijte FileInputStream/FileOutputStream pro binární data (obrázky, multimédia).
  • Použijte DataInputStream/DataOutputStream pokud potřebujete uložit primitivní datové typy v binární podobě.
  • Použijte ObjectInputStream/ObjectOutputStream pro uložení celých objektů (serializace).

Definice: Serializace znamená převod objektu do sekvence bytů, kterou lze uložit do souboru nebo přenést po síti.

Praktický příklad: čtení textu efektivně

  1. Otevřete soubor pomocí FileReader
  2. Zabalte ho do BufferedReader
  3. Čtěte po řádcích

Praktické použití: načtení konfiguračního souboru, logování, import dat z CSV.

💡 Věděli jste?Fun fact: Velké textové soubory se obvykle čtou po blocích (buffer) místo po znacích, protože to zvyšuje výkon a snižuje počet I/O operací.

Praktický příklad: ukládání primitivních hodnot binárně

  • Použití DataOutputStream: zapisujete $int$, $float$, $double$ přímo v binárním formátu, což šetří místo a zrychluje zápis/čtení oproti textové serializaci.

4) Formáty pro předávání dat: XML a JSON

XML

  • Strukturovaný značkovací jazyk vhodný pro konfigurace a starší systémy (např. SOAP).
  • Typy parserů:
    • DOM: načte celé XML do paměti jako strom — jednoduché pro manipulaci, nevhodné pro velké soubory.
    • SAX: událostmi řízený parser (startElement, endElement) — nízká paměťová náročnost.
    • StAX: pull parser, program řídí čtení pomocí iterátoru.
  • Nástroje a mapování: JAXB, XStream.
  • Práce s XML: JAXP nebo dom4j, DocumentBuilder pro DOM, SAXParser pro SAX.
  • XSLT: převod XML do HTML nebo jiných formátů.
  • XSD: schéma pro kontrolu struktury XML.

Definice: DOM (Document Object Model) je datová reprezentace XML ve stromové podobě, která umožňuje náhodný přístup a úpravy.

💡 Věděli jste?Did you know that XSLT lze použít k transformaci
Zaregistruj se pro celé shrnutí
KartičkyTest znalostíShrnutíPodcastMyšlenková mapa
Začni zdarma

Už máš účet? Přihlásit se

Vstup a výstup - soubory a formáty

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

## Úvod 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. ## Základní pojmy rozdělené po částech ### 1) Práce se soubory a cestami - **File**: reprezentace souboru nebo složky. Používá se pro práci s cestou, kontrolou existence a zjištěním velikosti. Hodí se pro jednoduché operace (existence, přejmenování, smazání). > Definice: Objekt „File" představuje položku v souborovém systému (soubor nebo adresář) a poskytuje metody pro základní správu. - **Files**: utilitní třída pro moderní práci se soubory a cestami (čtení všech řádků, zápis, kopírování, mazání). Pracuje s objekty typu Path. ### 2) Textové vs binární I/O - Textové proudy pracují se znaky (char), binární proudy s byty (byte). 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 | ### 3) Kdy použít který proud - Použijte **FileReader/FileWriter** pro jednoduché textové soubory s malým objemem. - Použijte **BufferedReader/BufferedWriter** pokud čtete nebo zapisujete větší množství textu (výkon díky bufferu). - Použijte **FileInputStream/FileOutputStream** pro binární data (obrázky, multimédia). - Použijte **DataInputStream/DataOutputStream** pokud potřebujete uložit primitivní datové typy v binární podobě. - Použijte **ObjectInputStream/ObjectOutputStream** pro uložení celých objektů (serializace). > Definice: Serializace znamená převod objektu do sekvence bytů, kterou lze uložit do souboru nebo přenést po síti. ### Praktický příklad: čtení textu efektivně 1. Otevřete soubor pomocí FileReader 2. Zabalte ho do BufferedReader 3. Čtěte po řádcích Praktické použití: načtení konfiguračního souboru, logování, import dat z CSV. Fun fact: Velké textové soubory se obvykle čtou po blocích (buffer) místo po znacích, protože to zvyšuje výkon a snižuje počet I/O operací. ### Praktický příklad: ukládání primitivních hodnot binárně - Použití DataOutputStream: zapisujete $int$, $float$, $double$ přímo v binárním formátu, což šetří místo a zrychluje zápis/čtení oproti textové serializaci. ## 4) Formáty pro předávání dat: XML a JSON ### XML - Strukturovaný značkovací jazyk vhodný pro konfigurace a starší systémy (např. SOAP). - Typy parserů: - DOM: načte celé XML do paměti jako strom — jednoduché pro manipulaci, nevhodné pro velké soubory. - SAX: událostmi řízený parser (startElement, endElement) — nízká paměťová náročnost. - StAX: pull parser, program řídí čtení pomocí iterátoru. - Nástroje a mapování: JAXB, XStream. - Práce s XML: JAXP nebo dom4j, DocumentBuilder pro DOM, SAXParser pro SAX. - XSLT: převod XML do HTML nebo jiných formátů. - XSD: schéma pro kontrolu struktury XML. > Definice: DOM (Document Object Model) je datová reprezentace XML ve stromové podobě, která umožňuje náhodný přístup a úpravy. Did you know that XSLT lze použít k transformaci

Další materiály

ShrnutíTest znalostíKartičkyPodcastMyšlenková mapa
← Zpět na téma