Vstupný stream súboru Java v Ubuntu 20.04

Vstupny Stream Suboru Java V Ubuntu 20 04



„V tomto článku budeme diskutovať o rôznych spôsoboch čítania údajov zo súborov do bajtového poľa pomocou triedy Java Input Stream. Táto trieda predstavuje triedený prúd bajtov zo súboru. V triede Java Input Stream existuje viacero funkcií, ktoré sa bežne používajú a o ktorých sa bude diskutovať v tomto článku, ako napríklad metódy read(), available(), skip() a close(). Tieto metódy sa používajú na čítanie súborov s rôznymi príponami, ako sú súbory bin alebo txt, a možno ich zmeniť, aby ste získali informácie z akéhokoľvek miesta v súbore. V tomto článku budeme tieto metódy implementovať v prostredí Ubuntu 20.04.

Existuje mnoho ďalších metód triedy File Input Stream, ktoré sú tiež veľmi užitočné pri získavaní údajov zo súboru; niektoré z nich sú int read(byte[] b), táto funkcia číta dáta zo vstupného toku až do dĺžky b.length bytov. File Channel získa channel(): Pomocou neho sa vráti špecifický objekt File Channel pripojený k vstupnému toku súboru. Finalize() sa používa na zabezpečenie toho, aby sa funkcia close() vyvolala, keď už neexistuje odkaz na vstupný prúd súboru.

Príklad 01: Čítanie jedného bajtu z textového súboru pomocou metód read() a close() triedy vstupného toku

Tento príklad používa File Input Stream na prečítanie jedného znaku a vytlačenie obsahu. Predpokladajme, že máme súbor s názvom „file.txt“ s obsahom uvedeným nižšie:









Predpokladajme, že máme súbor s názvom „file.txt“ s obsahom uvedeným vyššie. Skúsme teraz prečítať a vytlačiť prvý znak súboru.







Najprv musíme importovať java.io. Balík vstupného toku súboru na vytvorenie vstupného toku súboru. Potom vytvoríme nový objekt File Input Stream, ktorý bude prepojený so súborom špecifikovaným (file.txt) v premennej “f”.

V tomto príklade budeme používať metódu „int read()“ triedy Java File Input Stream, ktorá sa používa na čítanie jedného bajtu zo súboru a jeho uloženie do premennej „I“. Ďalej „System.out.print(char(i))“ zobrazí znak zodpovedajúci tomuto bajtu.



Metóda f.close() zatvorí súbor a stream. Po zostavení a spustení vyššie uvedeného skriptu získame nasledujúci výstup, keďže vidíme, že je vytlačené iba začiatočné písmeno textu „L“.

Príklad 02: Čítanie celého obsahu textového súboru pomocou metód read() a close() triedy Input Stream

V tomto príklade budeme čítať a zobrazovať celý obsah textového súboru; ako je uvedené nižšie:

Opäť budeme importovať java.io. Balík vstupného toku súboru na vytvorenie vstupného toku súboru.

Najprv prečítame prvý bajt súboru a zobrazíme zodpovedajúci znak vo vnútri cyklu while. Cyklus while bude prebiehať dovtedy, kým nezostanú žiadne bajty, teda koniec textu v súbore. Riadok 12 prečíta ďalší bajt a slučka bude pokračovať až do posledného bajtu súboru.

Po skompilovaní a vykonaní vyššie uvedeného kódu získame nasledujúce výsledky. Ako vidíme, v termináli sa zobrazí celý text súboru „Lorep Ipsum“.

Príklad 03: Určenie počtu dostupných bajtov v textovom súbore pomocou metódy available() triedy vstupného toku

V tomto príklade použijeme funkciu File Input Stream „available()“ na určenie počtu existujúcich bajtov vo vstupnom toku súboru.

Najprv sme vygenerovali objekt triedy vstupného prúdu súboru s názvom „a“ s nasledujúcim kódom. V riadku 5 sme použili metódu „available()“ na určenie a zobrazenie celkového množstva dostupných bajtov v súbore. Potom od riadku 6 po riadok 8 sme trikrát použili funkciu „read()“. Teraz v riadku 9 sme znova použili metódu „available()“ na kontrolu a zobrazenie zostávajúcich bajtov.

Po skompilovaní a spustení kódu môžeme vidieť, že prvý riadok výstupu zobrazuje celkový počet dostupných bajtov v súbore. Ďalší riadok zobrazuje počet bajtov dostupných na konci kódu, čo je o 3 menej ako bajty dostupné na začiatku. Je to preto, že sme v našom kóde trikrát použili metódu čítania.

Príklad 04: Preskakovanie bajtov textového súboru na čítanie údajov z určitého bodu pomocou metódy skip() triedy vstupného toku

V tomto príklade použijeme metódu „skip(x)“ súboru vstupného toku, ktorá sa používa na ignorovanie a ignorovanie daného počtu bajtov dát zo vstupného toku.

V nižšie uvedenom kóde sme najprv vytvorili vstupný prúd súboru a uložili ho do premennej „a“. Ďalej sme použili metódu “a.skip(5)”, ktorá preskočí prvých 5 bajtov súboru. Ďalej sme vytlačili zostávajúce znaky súboru pomocou metódy „read()“ v rámci cyklu while. Nakoniec sme vstupný prúd súboru uzavreli metódou „close()“.

Nižšie je snímka obrazovky terminálu po skompilovaní a spustení kódu. Ako vidíme, zobrazuje sa iba „Ipsum“, pretože sme preskočili prvých 5 bajtov pomocou metódy „skip()“.

Záver

V tomto článku sme diskutovali o použití triedy File Input Stream a jej rôznych metódach; read(), available(), skip() a close(). Tieto metódy sme použili na čítanie prvého prvku súboru pomocou metód read() a close(). Potom prečítame celý súbor iteračným prístupom a použitím rovnakých metód. Potom sme použili metódu available() na určenie počtu bajtov prítomných na začiatku a dokončení súboru. Potom sme použili metódu skip() na preskočenie niekoľkých bajtov pred čítaním súboru, čo nám umožnilo získať konkrétne údaje, ktoré sme potrebovali.