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