Hogyan működik a Java InputStream

Hogyan Mukodik A Java Inputstream



A Java lehetővé teszi a fejlesztők számára, hogy dolgozzanak a fájlokkal. Ilyen esetben a „ InputStream ” osztály lép életbe, amely segít a megadott fájltartalom beolvasásában, valamint a benne lévő bájtok elemzésében. Ez azt eredményezi, hogy megbirkózni a memóriaproblémákkal, és hatékonyan visszaadja a szelektív fájltartalmat a követelményeknek megfelelően.

Ez az írás az „InputStream” Java-ban való működését mutatja be.







Hogyan működik a Java InputStream?

Az „InputStream” osztály a „ java.io ” csomag egy absztrakt szuperosztálynak felel meg, amely egy bájtokból álló bemeneti adatfolyamot ad vissza a megadott fájlhoz.



Az InputStream alosztályai

Az „InputStream” funkciók alkalmazásához a következő alosztályai használhatók:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Ez olyan, hogy ezek az alosztályok kiterjesztik az „InputStream” osztályt.





Az InputStream módszerei

Az „InputStream” osztály különböző módszereket tartalmaz, amelyeket az alosztályai alkalmaznak. Íme néhány a leggyakrabban használt módszerek közül:

Mód Funkcionalitás
olvas() Egy bájtnyi adatot olvas be a bemeneti adatfolyamból.



read(byte[] tömb) Ezenkívül beolvassa a bájtokat az adatfolyamból, és eltárolja azokat a céltömbben.

skip() Ez a módszer kihagyja/kihagyja a megadott számú bájtot a bemeneti adatfolyamból.

elérhető() Megadja a bemeneti adatfolyamban lévő bájtokat.
Visszaállítás() Hozzáférést biztosít ahhoz az adatfolyam-ponthoz, ahol a jelet beállították.

Mark() Ez a módszer azt a helyet jelöli meg az adatfolyamban, ameddig az adatok beolvasásra kerültek.

markSupported() Azt elemzi, hogy a „mark()” és a „reset()” metódusok támogatottak/kompatibilisek-e az adatfolyamban.


Mielőtt a példára lépne, importálja a következő csomagokat, hogy működjön együtt az „InputStream”-mel és annak alosztályával:

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


Példa: Az InputStream működése Java nyelven

Ez a példa az „InputStream” működését szemlélteti a fájltartalom „InputStream” metódusokkal történő olvasásával:

nyilvános osztály Inputstream {
public static void main ( String args [ ] ) {
byte [ ] givenarray = új bájt [ ötven ] ;
próbáld ki {
InputStream readData = új FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bájtok a fájlban -> ' + readData.available ( ) ) ;
readData.read ( adott tömb ) ;
System.out.println ( 'Fájladatok olvasása:' ) ;
String includedata = new String ( adott tömb ) ;
System.out.println ( tartalmaz adatokat ) ;
readData.close ( ) ;
}
fogás ( Kivétel, kivéve ) {
kivéve.getStackTrace ( ) ;
}
} }


A fenti kódsoroknak megfelelően hajtsa végre az alábbi lépéseket:

    • Először hozzon létre egy „byte” tömböt, amely legfeljebb „ ötven ” byte értékeket az olvasott fájlban.
    • A következő lépésben hozzon létre egy „ InputStream ” a „FileInputStream” használatával, és adja vissza a megadott fájlban elérhető bájtokat a kapcsolódó „ elérhető() ” módszerrel.
    • Ezután olvassa be a bájtokat a bemeneti adatfolyamból a „ olvas() ” módszerrel.
    • Most alakítsa át a bájttömböt karaktersorozattá, és jelenítse meg a fájl tartalmát.
    • Végül zárja be az olvasott fájlt a kapcsolódó ' Bezárás() ” módszerrel.

Kimenet


Ebből az eredményből arra lehet következtetni, hogy a fájlban lévő bájtok száma, azaz a tartalom által felhalmozott terület a bájttömb maximális tartományának megfelelően, azaz „50”-nek megfelelően kerül visszaadásra. Ezenkívül a fájl tartalma megfelelően visszaküldésre kerül.

Fájltartalom


Ahhoz, hogy áttekintést kapjon a „ skip() ” és „ Visszaállítás() ” módszerekkel, fontolja meg a következő bemutatót:


Ezen az ábrán a „skip()” metódus kihagyja a megadott számú bájtot, azaz „ 5 -> Java ” a fájl tartalmából kezdettől fogva. A „reset()” metódus azonban alaphelyzetbe állítja az adatfolyamot.

Következtetés

A ' InputStream ' osztály a ' java.io ” csomag egy absztrakt szuperosztály, amely megfelel a fájladatok olvasásához használt bemeneti bájtfolyamnak. Ez az osztály különféle módszereket tartalmaz, amelyek elősegítik a fájl hatékony olvasását a követelményeknek megfelelően. Ez a blog bemutatta az „InputStream” célját és működését Java nyelven.