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.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.