Kuinka Java InputStream toimii

Kuinka Java Inputstream Toimii



Java antaa kehittäjille mahdollisuuden käsitellä tiedostoja. Tällaisessa tapauksessa ' InputStream ”-luokka tulee voimaan, joka auttaa lukemaan määritetyn tiedoston sisältöä sekä analysoimaan sisältämiä tavuja. Tämä johtaa selviytymiseen muistiongelmista ja myös valikoivan tiedoston sisällön palauttamisesta vaatimusten mukaisesti.

Tämä kirjoitus käsittelee 'InputStreamin' toimintaa Javassa.







Kuinka Java InputStream toimii?

'InputStream'-luokka ' java.io ”-paketti vastaa abstraktia superluokkaa, joka palauttaa tavuista koostuvan syöttövirran määritettyä tiedostoa vastaan.



InputStreamin alaluokat

'InputStream'-toimintojen soveltamiseksi voidaan käyttää sen seuraavia alaluokkia:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Se on sellainen, että nämä alaluokat laajentavat 'InputStream'-luokkaa.





InputStreamin menetelmät

Luokka 'InputStream' sisältää erilaisia ​​menetelmiä, joita sen alaluokat soveltavat. Seuraavassa on joitain yleisimmin käytetyistä menetelmistä:

menetelmät Toiminnallisuus
lukea() Se lukee tavun dataa syöttövirrasta.



lue(tavu[]-taulukko) Se myös lukee tavuja virrasta ja tallentaa ne kohderyhmään.

ohita() Tämä menetelmä ohittaa/jättää pois tietyn määrän tavuja syöttövirrasta.

saatavilla() Se antaa syöttövirran sisältämät tavut.
reset() Se antaa pääsyn stream-pisteeseen, jossa merkki asetettiin.

merkki() Tämä menetelmä merkitsee paikan virrassa, johon asti dataa on luettu.

markSupported() Se analysoi, onko 'mark()'- ja 'reset()'-menetelmiä tuettu/yhteensopiva streamissa.


Ennen kuin siirryt esimerkkiin, tuo seuraavat paketit toimimaan 'InputStream' ja sen alaluokan kanssa:

tuonti java.io.FileInputStream;
tuonti java.io.InputStream;


Esimerkki: InputStream toimii Javassa

Tämä esimerkki havainnollistaa 'InputStream':n toimintaa lukemalla tiedoston sisällön 'InputStream'-menetelmillä:

julkinen luokka Inputstream {
julkinen static void main ( String args [ ] ) {
tavu [ ] givenarray = uusi tavu [ viisikymmentä ] ;
yrittää {
InputStream readData = uusi FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Tavut tiedostossa ->' + readData.available ( ) ) ;
readData.read ( annettu matriisi ) ;
System.out.println ( 'Lue tiedostotiedot:' ) ;
String includedata = uusi merkkijono ( annettu matriisi ) ;
System.out.println ( sisältäviä tietoja ) ;
readData.close ( ) ;
}
ottaa kiinni ( Poikkeus paitsi ) {
paitsi.getStackTrace ( ) ;
}
} }


Suorita alla mainitut vaiheet yllä olevien koodirivien mukaisesti:

    • Luo ensin 'tavu'-taulukko, joka voi sisältää enintään ' viisikymmentä ”tavun arvot luetussa tiedostossa.
    • Luo seuraavassa vaiheessa ' InputStream ' käyttäen 'FileInputStream' ja palauttaa käytettävissä olevat tavut määritetyssä tiedostossa siihen liittyvän ' saatavilla() ”menetelmä.
    • Tämän jälkeen lue tavut syöttövirrasta käyttämällä ' lukea() ”menetelmä.
    • Muunna nyt tavutaulukko merkkijonoksi ja näytä tiedoston sisältö.
    • Sulje lopuksi lukutiedosto käyttämällä siihen liittyvää ' kiinni() ”menetelmä.

Lähtö


Tässä tuloksessa voidaan olettaa, että tiedoston tavumäärä eli sisällön kertynyt tila palautetaan tavutaulukon maksimialueen eli '50' mukaisesti. Myös tiedoston sisältö palautetaan asianmukaisesti.

Tiedoston sisältö


Saadaksesi yleiskatsauksen ' ohita() ' ja ' reset() ”menetelmiä, harkitse seuraavaa esittelyä:


Tässä kuvassa 'skip()'-menetelmä ohittaa määritetyn määrän tavuja, eli ' 5 -> Java ' tiedoston sisällöstä alusta alkaen. 'Reset()' -menetelmä kuitenkin nollaa virran.

Johtopäätös

' InputStream 'luokka' java.io ”-paketti on abstrakti superluokka, joka vastaa tiedoston datan lukemiseen käytettyä tavuvirtaa. Tämä luokka sisältää erilaisia ​​​​menetelmiä, jotka auttavat tiedoston lukumenetelmissä tehokkaasti vaatimusten mukaisesti. Tämä blogi esitteli 'InputStreamin' tarkoituksen ja toimivuuden Javassa.