Hur fungerar Java InputStream

Hur Fungerar Java Inputstream



Java gör det möjligt för utvecklarna att arbeta med filerna. I ett sådant fall är ' InputStream ”-klassen träder i kraft som hjälper till att läsa det angivna filinnehållet tillsammans med att analysera de ingående byten. Detta resulterar i att hantera minnesproblemen och även returnera det selektiva filinnehållet enligt kravet effektivt.

Denna artikel kommer att utveckla hur 'InputStream' fungerar i Java.







Hur fungerar Java InputStream?

Klassen 'InputStream' för ' java.io ”-paketet motsvarar en abstrakt superklass som returnerar en indataström som består av bytes mot den angivna filen.



Underklasser av InputStream

För att tillämpa 'InputStream'-funktionerna kan dess följande underklasser användas:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Det är så att dessa underklasser utökar klassen 'InputStream'.





Metoder för InputStream

Klassen 'InputStream' innehåller olika metoder som tillämpas av dess underklasser. Följande är några av de mest använda metoderna:

Metoder Funktionalitet
läsa() Den läser en byte med data från inmatningsströmmen.



read(byte[] array) Den läser också bytes från strömmen och lagrar dem i målarrayen.

hoppa() Denna metod hoppar över/utelämnar det specifika antalet byte från inmatningsströmmen.

tillgängliga() Det ger de ingående byten i ingångsströmmen.
återställa() Den ger tillgång till strömningspunkten där märket sattes.

mark() Denna metod markerar positionen i strömmen tills vilken data har lästs.

markSupported() Den analyserar om metoderna 'mark()' och 'reset()' stöds/kompatibla i strömmen.


Innan du går till exemplet, importera följande paket för att arbeta med 'InputStream' och dess underklass:

importera java.io.FileInputStream;
importera java.io.InputStream;


Exempel: Arbeta med InputStream i Java

Det här exemplet illustrerar hur 'InputStream' fungerar genom att läsa filinnehållet via 'InputStream'-metoderna:

public class Inputstream {
offentliga statiska tomrum huvud ( String args [ ] ) {
byte [ ] givenarray = ny byte [ femtio ] ;
Prova {
InputStream readData = ny FileInputStream ( 'läsfil.txt' ) ;
System.out.println ( 'Byte i filen -> ' + readData.available ( ) ) ;
readData.read ( given array ) ;
System.out.println ( 'Läs fildata:' ) ;
String containdata = ny String ( given array ) ;
System.out.println ( innehålla data ) ;
readData.close ( ) ;
}
fånga ( Undantag utom ) {
except.getStackTrace ( ) ;
}
} }


Utför stegen nedan enligt ovanstående kodrader:

    • Skapa först en 'byte'-array som kan bestå av maximalt ' femtio ” bytevärden i den lästa filen.
    • I nästa steg skapar du en ' InputStream ' med 'FileInputStream' och returnera de tillgängliga byten i den angivna filen via den associerade ' tillgängliga() 'metoden.
    • Efter det läser du byten från ingångsströmmen med hjälp av ' läsa() 'metoden.
    • Konvertera nu byte-arrayen till en sträng och visa filinnehållet.
    • Slutligen, stäng läsfilen med den tillhörande ' stänga() 'metoden.

Produktion


I detta resultat kan det antydas att antalet byte i filen, dvs ackumulerat utrymme av innehållet, returneras i enlighet med maxintervallet i bytematrisen, dvs. '50'. Filinnehållet returneras också på lämpligt sätt.

Filinnehåll


För att få en överblick över ' hoppa() ' och ' återställa() ”-metoder, överväg följande demonstration:


I den här illustrationen hoppar metoden 'skip()' över det angivna antalet byte, dvs. 5 -> Java ” från filinnehållet från början. Metoden 'reset()' återställer dock strömmen.

Slutsats

den ' InputStream ' klass av ' java.io ”-paketet är en abstrakt superklass som motsvarar en ingångsström av byte som används för att läsa fildata. Den här klassen innehåller olika metoder som hjälper till att läsa filens metoder effektivt enligt kravet. Den här bloggen visade syftet med och hur 'InputStream' fungerar i Java.