Ako funguje Java InputStream

Ako Funguje Java Inputstream



Java umožňuje vývojárom pracovať so súbormi. V takom prípade „ InputStream “, ktorá pomáha pri čítaní špecifikovaného obsahu súboru spolu s analýzou obsiahnutých bajtov. Výsledkom je zvládnutie problémov s pamäťou a tiež efektívne vrátenie selektívneho obsahu súboru podľa požiadavky.

Tento zápis sa bude podrobne zaoberať fungovaním „InputStream“ v jazyku Java.







Ako funguje Java InputStream?

Trieda „InputStream“ triedy „ java.io ” balík zodpovedá abstraktnej nadtriede, ktorá vracia vstupný tok pozostávajúci z bajtov oproti špecifikovanému súboru.



Podtriedy InputStream

Aby bolo možné použiť funkcie „InputStream“, môžu sa použiť jej nasledujúce podtriedy:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Je to také, že tieto podtriedy rozširujú triedu „InputStream“.





Metódy InputStream

Trieda „InputStream“ obsahuje rôzne metódy, ktoré používajú jej podtriedy. Nižšie sú uvedené niektoré z najčastejšie používaných metód:

Metódy Funkčnosť
čítať() Číta bajt dát zo vstupného toku.



read(bajt[] pole) Číta aj bajty z toku a ukladá ich do cieľového poľa.

preskočiť () Táto metóda preskočí/vynechá konkrétny počet bajtov zo vstupného toku.

k dispozícii() Poskytuje obsiahnuté bajty vo vstupnom toku.
reset() Umožňuje prístup k bodu toku, kde bola značka nastavená.

značka() Táto metóda označuje pozíciu v streame, do ktorej boli načítané dáta.

markSupported() Analyzuje, či sú v streame podporované/kompatibilné metódy „mark()“ a „reset()“.


Predtým, ako prejdete na príklad, importujte nasledujúce balíky, aby ste mohli pracovať s „InputStream“ a jej podtriedou:

import java.io.FileInputStream;
import java.io.InputStream;


Príklad: Práca s InputStream v Jave

Tento príklad ilustruje fungovanie „InputStream“ čítaním obsahu súboru pomocou metód „InputStream“:

verejná trieda Inputstream {
verejné statické void main ( String args [ ] ) {
byte [ ] dané pole = nový bajt [ päťdesiat ] ;
skúste {
InputStream readData = nový FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bajty v súbore ->' + readData.available ( ) ) ;
readData.read ( dané pole ) ;
System.out.println ( 'Prečítať údaje súboru: ' ) ;
Reťazec obsahuje údaje = nový reťazec ( dané pole ) ;
System.out.println ( obsahovať údaje ) ;
readData.close ( ) ;
}
chytiť ( Výnimka okrem ) {
okrem.getStackTrace ( ) ;
}
} }


Podľa vyššie uvedených riadkov kódu vykonajte kroky uvedené nižšie:

    • Najprv vytvorte pole „bajtov“, ktoré môže obsahovať maximálne „ päťdesiat ” bajtové hodnoty v čítanom súbore.
    • V ďalšom kroku vytvorte „ InputStream “ pomocou „FileInputStream“ a vráťte dostupné bajty v zadanom súbore prostredníctvom priradeného „ k dispozícii() “.
    • Potom prečítajte bajty zo vstupného toku pomocou „ čítať() “.
    • Teraz preveďte bajtové pole na reťazec a zobrazte obsah súboru.
    • Nakoniec zatvorte prečítaný súbor pomocou priradeného „ Zavrieť() “.

Výkon


Z tohto výsledku možno predpokladať, že počet bajtov v súbore, t. j. akumulovaný priestor podľa obsahu, sa vráti v súlade s maximálnym rozsahom v poli bajtov, t. j. „50“. Obsah súboru sa tiež primerane vráti.

Obsah súboru


Ak chcete získať prehľad o „ preskočiť () “ a „ reset() “, zvážte nasledujúcu demonštráciu:


Na tomto obrázku metóda „skip()“ preskočí zadaný počet bajtov, tj „ 5 -> Java “ z obsahu súboru od začiatku. Metóda „reset()“ však resetuje prúd.

Záver

' InputStream “trieda triedy “ java.io ” balík je abstraktná nadtrieda, ktorá zodpovedá vstupnému toku bajtov používaných na čítanie údajov súboru. Táto trieda obsahuje rôzne metódy, ktoré pomáhajú pri čítaní metodológií súboru efektívne podľa požiadavky. Tento blog demonštroval účel a fungovanie „InputStream“ v jazyku Java.