Java File Input Stream v Ubuntu 20.04

Java File Input Stream V Ubuntu 20 04



„V tomto článku budeme diskutovat o různých způsobech čtení dat ze souborů do bajtového pole pomocí třídy Java Input Stream. Tato třída představuje seřazený proud bajtů ze souboru. Ve třídě Java Input Stream existuje několik funkcí, které se běžně používají a budou probrány v tomto článku, jako jsou metody read(), available(), skip() a close(). Tyto metody se používají ke čtení souborů s různými příponami, jako jsou soubory bin nebo txt, a lze je upravit tak, aby získaly informace z libovolného místa v souboru. V tomto článku budeme tyto metody implementovat v prostředí Ubuntu 20.04.

Existuje mnoho dalších metod třídy File Input Stream, které jsou také velmi užitečné při získávání dat ze souboru; některé z nich jsou int read(byte[] b), tato funkce čte data ze vstupního toku až do délky b.length bytů. File Channel získá channel(): Pomocí něj je vrácen konkrétní objekt File Channel připojený ke vstupnímu datovému proudu souboru. Finalize() se používá k zajištění toho, že funkce close() bude vyvolána, když již není odkaz na vstupní proud souboru.

Příklad 01: Čtení jednoho bajtu z textového souboru pomocí metod read() a close() třídy Input Stream

Tento příklad používá File Input Stream ke čtení jednoho znaku a vytištění obsahu. Předpokládejme, že máme soubor s názvem „file.txt“ s níže uvedeným obsahem:









Předpokládejme, že máme soubor s názvem „file.txt“ s obsahem uvedeným výše. Pokusme se nyní přečíst a vytisknout první znak souboru.







Nejprve musíme importovat java.io. Balíček File Input Stream za účelem vytvoření vstupního toku souboru. Poté vytvoříme nový objekt File Input Stream, který bude propojen se souborem zadaným (file.txt) v proměnné „f“.

V tomto příkladu budeme používat metodu „int read()“ třídy Java File Input Stream, která se používá ke čtení jednoho bajtu ze souboru a jeho uložení do proměnné „I“. Dále „System.out.print(char(i))“ zobrazí znak odpovídající tomuto bajtu.



Metoda f.close() zavře soubor a stream. Po vytvoření a spuštění výše uvedeného skriptu získáme následující výstup, protože vidíme, že se tiskne pouze počáteční písmeno textu „L“.

Příklad 02: Čtení celého obsahu textového souboru pomocí metod read() a close() třídy Input Stream

V tomto příkladu budeme číst a zobrazovat veškerý obsah textového souboru; Jak je ukázáno níže:

Opět budeme importovat java.io. Balíček File Input Stream za účelem vytvoření vstupního toku souboru.

Nejprve načteme první bajt souboru a zobrazíme odpovídající znak uvnitř cyklu while. Cyklus while poběží, dokud nezůstanou žádné bajty, tedy konec textu v souboru. Řádek 12 přečte další bajt a smyčka bude pokračovat až do posledního bajtu souboru.

Po zkompilování a provedení výše uvedeného kódu získáme následující výsledky. Jak vidíme, celý text souboru „Lorep Ipsum“ je zobrazen v terminálu.

Příklad 03: Určení počtu dostupných bajtů v textovém souboru pomocí metody available() třídy vstupního toku

V tomto příkladu použijeme funkci „available()“ vstupního souboru souboru k určení počtu existujících bajtů ve vstupním proudu souboru.

Nejprve jsme vygenerovali objekt třídy vstupního proudu souboru s názvem „a“ s následujícím kódem. V řádku 5 jsme použili metodu „available()“ k určení a zobrazení celkového množství dostupných bajtů v souboru. Poté jsme od řádku 6 do řádku 8 třikrát použili funkci „read()“. Nyní na řádku 9 jsme znovu použili metodu „available()“ ke kontrole a zobrazení zbývajících bajtů.

Po zkompilování a spuštění kódu vidíme, že první řádek výstupu ukazuje celkový počet dostupných bajtů v souboru. Další řádek ukazuje počet bajtů dostupných na konci kódu, což je o 3 méně než bajty dostupné na začátku. Je to proto, že jsme v našem kódu třikrát použili metodu čtení.

Příklad 04: Přeskakování bajtů textového souboru pro čtení dat z určitého bodu pomocí metody skip() třídy vstupního toku

V tomto příkladu použijeme metodu „skip(x)“ vstupního toku souboru, která se používá k ignorování a ignorování daného počtu bajtů dat ze vstupního toku.

V níže uvedeném kódu jsme nejprve vytvořili vstupní proud souboru a uložili jej do proměnné „a“. Dále jsme použili metodu „a.skip(5)“, která přeskočí prvních 5 bajtů souboru. Dále jsme vytiskli zbývající znaky souboru pomocí metody „read()“ uvnitř smyčky while. Nakonec jsme vstupní proud souboru uzavřeli metodou „close()“.

Níže je snímek obrazovky terminálu po kompilaci a spuštění kódu. Jak vidíme, zobrazuje se pouze „Ipsum“, protože jsme vynechali prvních 5 bajtů pomocí metody „skip()“.

Závěr

V tomto článku jsme probrali použití třídy File Input Stream a její různé metody; read(), available(), skip() a close(). Tyto metody jsme použili ke čtení prvního prvku souboru pomocí metod read() a close(). Potom čteme celý soubor pomocí iterativního přístupu a za použití stejných metod. Potom jsme pomocí metody available() určili počet bajtů přítomných na začátku a dokončení souboru. Poté jsme použili metodu skip() k přeskočení několika bajtů před čtením souboru, což nám umožnilo získat konkrétní data, která jsme potřebovali.