Java gjør det mulig for utviklerne å jobbe med filene. I et slikt tilfelle vil ' InputStream ”-klassen trer i kraft som hjelper til med å lese det angitte filinnholdet sammen med å analysere de inneholdte bytene. Dette resulterer i å takle minneproblemene og også returnere det selektive filinnholdet i henhold til kravet effektivt.
Denne oppskriften vil utdype hvordan 'InputStream' fungerer i Java.
Hvordan fungerer Java InputStream?
'InputStream'-klassen til ' java.io ”-pakken tilsvarer en abstrakt superklasse som returnerer en inngangsstrøm som består av byte mot den spesifiserte filen.
Underklasser av InputStream
For å bruke 'InputStream'-funksjonaliteten, kan følgende underklasser brukes:
-
- FileInputStream
- ObjectInputStream
- ByteArrayInputStream
Det er slik at disse underklassene utvider 'InputStream'-klassen.
Metoder for InputStream
Klassen 'InputStream' inneholder forskjellige metoder som brukes av underklassene. Følgende er noen av de mest brukte metodene:
Metoder | Funksjonalitet |
lese() | Den leser en byte med data fra inngangsstrømmen.
|
read(byte[] array) | Den leser også byte fra strømmen og lagrer dem i målmatrisen.
|
hoppe over() | Denne metoden hopper over/utelater det spesifikke antallet byte fra inngangsstrømmen.
|
tilgjengelig() | Det gir de inneholdte bytene i inngangsstrømmen. |
nullstille() | Den gir tilgang til bekkepunktet der merket ble satt.
|
merke() | Denne metoden markerer posisjonen i strømmen til der data er lest.
|
markSupported() | Den analyserer om metodene 'mark()' og 'reset()' støttes/kompatible i strømmen.
|
Før du går til eksemplet, importer følgende pakker for å jobbe med 'InputStream' og dens underklasse:
importer java.io.InputStream;
Eksempel: Arbeid av InputStream i Java
Dette eksemplet illustrerer hvordan 'InputStream' fungerer ved å lese filinnholdet via 'InputStream'-metodene:
offentlig klasse Inputstream {offentlig statisk tomrom hoved ( String args [ ] ) {
byte [ ] givenarray = ny byte [ femti ] ;
prøve {
InputStream readData = ny FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bytes i filen -> ' + readData.available ( ) ) ;
readData.read ( gitt array ) ;
System.out.println ( 'Les fildata: ' ) ;
String containdata = ny streng ( gitt array ) ;
System.out.println ( inneholde data ) ;
readData.close ( ) ;
}
å fange ( Unntak unntatt ) {
unntatt.getStackTrace ( ) ;
}
} }
I henhold til kodelinjene ovenfor, utfør trinnene nedenfor:
-
- Først oppretter du en 'byte'-array som kan omfatte maksimalt ' femti byte-verdier i den leste filen.
- I neste trinn oppretter du en ' InputStream ' ved å bruke 'FileInputStream' og returner de tilgjengelige bytene i den angitte filen via den tilknyttede ' tilgjengelig() 'metoden.
- Etter det, les bytene fra inngangsstrømmen ved å bruke ' lese() 'metoden.
- Konverter nå byte-arrayen til en streng og vis filinnholdet.
- Til slutt, lukk lesefilen ved å bruke den tilknyttede ' Lukk() 'metoden.
Produksjon
I dette utfallet kan det antydes at antall byte i filen, dvs. akkumulert plass av innholdet, returneres i samsvar med maksområdet i bytematrisen, dvs. '50'. Filinnholdet returneres også på riktig måte.
Filinnhold
For å få en oversikt over ' hoppe over() ' og ' nullstille() ”-metoder, vurder følgende demonstrasjon:
I denne illustrasjonen hopper 'skip()'-metoden over det angitte antallet byte, dvs. ' 5 -> Java ” fra filinnholdet fra starten. Metoden 'reset()' tilbakestiller imidlertid strømmen.
Konklusjon
« InputStream ' klasse av ' java.io ”-pakken er en abstrakt superklasse som tilsvarer en inngangsstrøm av byte som brukes til å lese fildataene. Denne klassen omfatter forskjellige metoder som hjelper til med å lese metodene til filen effektivt i henhold til kravet. Denne bloggen demonstrerte formålet og virkemåten til 'InputStream' i Java.