Kako radi Java InputStream

Kako Radi Java Inputstream



Java programerima omogućuje rad s datotekama. U takvom slučaju, ' InputStream ” stupa na snagu klasa koja pomaže u čitanju navedenog sadržaja datoteke zajedno s analizom sadržanih bajtova. To rezultira rješavanjem problema s memorijom i učinkovitim vraćanjem selektivnog sadržaja datoteke prema zahtjevu.

Ovo pisanje će razraditi rad 'InputStream' u Javi.







Kako radi Java InputStream?

Klasa 'InputStream' od ' java.io ” paket odgovara apstraktnoj superklasi koja vraća ulazni tok koji se sastoji od bajtova prema navedenoj datoteci.



Podklase od InputStream

Za primjenu funkcionalnosti 'InputStream' mogu se koristiti njegove sljedeće podklase:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

To je takvo da ove podklase proširuju klasu 'InputStream'.





Metode InputStream-a

Klasa 'InputStream' sadrži različite metode koje primjenjuju njezine podklase. Slijede neke od najčešće korištenih metoda:

Metode Funkcionalnost
čitati() Čita bajt podataka iz ulaznog toka.



pročitaj (niz bajtova []) Također čita bajtove iz toka i pohranjuje ih u ciljni niz.

preskočiti() Ova metoda preskače/izostavlja određeni broj bajtova iz ulaznog toka.

dostupno() Daje sadržane bajtove u ulaznom toku.
reset() Omogućuje pristup točki toka na kojoj je postavljena oznaka.

ocjena() Ova metoda označava poziciju u toku do koje su podaci pročitani.

markSupported() Analizira jesu li metode 'mark()' i 'reset()' podržane/kompatibilne u streamu.


Prije nego što prijeđete na primjer, uvezite sljedeće pakete za rad s 'InputStream' i njegovom podklasom:

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


Primjer: rad InputStreama u Javi

Ovaj primjer ilustrira rad 'InputStream' čitanjem sadržaja datoteke putem 'InputStream' metoda:

javna klasa Inputstream {
public static void main ( Argumenti niza [ ] ) {
bajt [ ] dati niz = novi bajt [ pedeset ] ;
probati {
InputStream readData = novi FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bajtovi u datoteci -> ' + readData.available ( ) ) ;
readData.read ( dati niz ) ;
System.out.println ( 'Pročitaj podatke datoteke: ' ) ;
Niz sadrži podatke = novi niz ( dati niz ) ;
System.out.println ( sadržavati podatke ) ;
readData.close ( ) ;
}
ulov ( Iznimka osim ) {
osim.getStackTrace ( ) ;
}
} }


U skladu s gornjim linijama koda, izvršite dolje navedene korake:

    • Najprije stvorite niz 'bajtova' koji može sadržavati najviše ' pedeset ” vrijednosti bajtova u datoteci za čitanje.
    • U sljedećem koraku izradite ' InputStream ” koristeći „FileInputStream” i vraća dostupne bajtove u navedenoj datoteci putem pridruženog „ dostupno() ” metoda.
    • Nakon toga pročitajte bajtove iz ulaznog toka koristeći ' čitati() ” metoda.
    • Sada pretvorite niz bajtova u niz i prikažite sadržaj datoteke.
    • Na kraju, zatvorite datoteku za čitanje koristeći pridruženi ' Zatvoriti() ” metoda.

Izlaz


U ovom ishodu može se implicirati da se broj bajtova u datoteci, tj. akumulirani prostor sadržajem vraća u skladu s maksimalnim rasponom u nizu bajtova, tj. '50'. Također, sadržaj datoteke se vraća na odgovarajući način.

Sadržaj datoteke


Da biste dobili pregled ' preskočiti() ' i ' reset() ” metode, razmotrite sljedeću demonstraciju:


U ovoj ilustraciji, metoda 'skip()' preskače navedeni broj bajtova, tj. ' 5 -> Java ” iz sadržaja datoteke od početka. Međutim, metoda 'reset()' resetira tok.

Zaključak

' InputStream ' klasa ' java.io ” paket je apstraktna superklasa koja odgovara ulaznom toku bajtova koji se koristi za čitanje podataka datoteke. Ova klasa obuhvaća različite metode koje pomažu u metodologijama čitanja datoteke učinkovito prema zahtjevu. Ovaj blog pokazao je svrhu i rad 'InputStream' u Javi.