14. diel - Binárne súbory v Jave

V predchádzajúcej lekcii, Súbory XML v Java enterprise riešení - Praktická ukážka XSD, sme dokončili ukážku práce so súbormi XML v štýle enterprise riešení pomocou knižnice.

V dnešnom tutoriáli Java si ukážeme ďalší spôsob uloženia dát, a to do binárnych súborov. Predstavíme si triedy DataOutputStream a DataInputStream. Naučíme sa binárne zapisovať a čítať inštancie.

Doteraz sme vždy dátové typy previedli na textový reťazec a ten uložili do textového súboru. Pri opätovnom čítaní dát sme ich museli z reťazca String naparsovať späť na pôvodný dátový typ. Do súboru je možné ale ukladať dáta aj v inej, než textovej podobe. Hovoríme o tzv. binárnych súboroch.

Ako vieme, premenné sú uložené v operačnej pamäti počítača. Fyzicky si pamäť môžeme predstaviť ako naozaj dlhý rad "priehradiek", kde v každej priehradke môže byť nula alebo jednička. Jednotlivé prvky v priehradkách sú teda bity. S tými sa väčšinou nepracuje jednotlivo, ale rovno po osmiciach, tzv. bajtoch (1 bajt = 8 bitov).

Každý dátový typ v Jave zaberá v pamäti určitý počet bajtov, napr. typ int zaberá 4 (celkom teda 32 núl a jednotiek). Je jedno, či je v ňom uložená hodnota 0 alebo 1.000.000, stále má v pamäti vyhradené tie svoje 4 bajty. Pokiaľ budeme chcieť premennú typu int uložiť do súboru, máme možnosť tieto bajty z operačnej pamäte jednoducho otlačiť na pevný disk. Vznikne tzv. binárny súbor. Tentokrát teda číslo neprevedieme na reťazec String a nezapíšeme do textového súboru, ale vytvoríme súbor, v ktorom bude uložené priamo číslo. Skúsme si to.

Zápis

Ako vždy nám Java poskytuje príslušné triedy, ktoré nám umožnia do súboru zapisovať a čítať. Pre binárne súbory použijeme triedy DataOutputStream a DataInputStream.

Vytvorme si nový projekt, konzolovú aplikáciu. Pomenujme ho BinaryFiles. Pripravme si zvyčajným spôsobom súbor s ktorým budeme pracovať:


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V tutoriáli Java si predstavíme binárne súbory a triedy DataOutputStream a DataInputStream. Naučíme sa binárne zapisovať a čítať inštancie v Jave.
Článok pre vás napísal Petr Štechmüller
Avatar
Autor se věnuje primárně programování v Javě, ale nebojí se ani webových technologií.
Aktivity