Hvordan virker Java InputStream

Hvordan Virker Java Inputstream



Java gør det muligt for udviklerne at arbejde med filerne. I et sådant tilfælde vil ' InputStream ” klasse træder i kraft, der hjælper med at læse det angivne filindhold sammen med at analysere de indeholdte bytes. Dette resulterer i at håndtere hukommelsesproblemerne og også returnere det selektive filindhold i henhold til kravet effektivt.

Denne skrivning vil uddybe, hvordan 'InputStream' fungerer i Java.







Hvordan virker Java InputStream?

'InputStream'-klassen af ​​' java.io ”-pakken svarer til en abstrakt superklasse, der returnerer en inputstrøm bestående af bytes mod den angivne fil.



Underklasser af InputStream

For at anvende 'InputStream'-funktionaliteterne kan dens følgende underklasser bruges:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Det er sådan, at disse underklasser udvider 'InputStream'-klassen.





Metoder til InputStream

Klassen 'InputStream' indeholder forskellige metoder, der anvendes af dens underklasser. Følgende er nogle af de mest brugte metoder:

Metoder Funktionalitet
Læs() Den læser en byte af data fra inputstrømmen.



read(byte[] array) Den læser også bytes fra strømmen og gemmer dem i målarrayet.

springe() Denne metode springer over/udelader det specifikke antal bytes fra inputstrømmen.

ledig() Det giver de indeholdte bytes i inputstrømmen.
Nulstil() Det giver adgang til strømpunktet, hvor mærket blev sat.

mærke() Denne metode markerer den position i strømmen, indtil hvilken data er blevet læst.

markSupported() Den analyserer, om metoderne 'mark()' og 'reset()' er understøttet/kompatible i strømmen.


Før du går til eksemplet, skal du importere følgende pakker for at arbejde med 'InputStream' og dens underklasse:

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


Eksempel: Arbejde med InputStream i Java

Dette eksempel illustrerer, hvordan 'InputStream' fungerer ved at læse filindholdet via 'InputStream'-metoderne:

offentlig klasse Inputstream {
offentlig statisk tomrum hoved ( Streng args [ ] ) {
byte [ ] givenarray = ny byte [ halvtreds ] ;
prøve {
InputStream readData = ny FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bytes i filen -> ' + readData.tilgængelig ( ) ) ;
readData.read ( givet array ) ;
System.out.println ( 'Læs fildata:' ) ;
String containdata = ny streng ( givet array ) ;
System.out.println ( indeholde data ) ;
readData.close ( ) ;
}
fangst ( Undtagelse undtagen ) {
undtagen.getStackTrace ( ) ;
}
} }


I henhold til ovenstående kodelinjer skal du udføre nedenstående trin:

    • Først skal du oprette et 'byte'-array, der maksimalt kan omfatte ' halvtreds ” byteværdier i læsefilen.
    • I næste trin skal du oprette en ' InputStream ' ved hjælp af 'FileInputStream' og returner de tilgængelige bytes i den angivne fil via den tilknyttede ' ledig() ” metode.
    • Læs derefter bytes fra inputstrømmen ved hjælp af ' Læs() ” metode.
    • Konverter nu byte-arrayet til en streng og vis filindholdet.
    • Til sidst skal du lukke læsefilen ved hjælp af den tilknyttede ' tæt() ” metode.

Produktion


I dette resultat kan det antydes, at antallet af bytes i filen, dvs. akkumuleret plads af indholdet, returneres i overensstemmelse med det maksimale område i byte-arrayet, dvs. '50'. Filindholdet returneres også korrekt.

Filindhold


For at få et overblik over ' springe() ' og ' Nulstil() ”-metoder, overvej følgende demonstration:


I denne illustration springer metoden 'skip()' over det angivne antal bytes, dvs. 5 -> Java ” fra filindholdet fra starten. Metoden 'reset()' nulstiller imidlertid strømmen.

Konklusion

Det ' InputStream ' klasse af ' java.io ”-pakken er en abstrakt superklasse, der svarer til en inputstrøm af bytes, der bruges til at læse fildataene. Denne klasse omfatter forskellige metoder, der hjælper med at læse filens metoder effektivt i henhold til kravet. Denne blog demonstrerede formålet og arbejdet med 'InputStream' i Java.