Java InputStream (példával)

Ebben az oktatóanyagban egy példa segítségével megismerhetjük a Java InputStream osztályt és annak módszereit.

A csomag InputStreamosztálya java.ioegy absztrakt szuperosztály, amely a bájtok bemeneti áramát ábrázolja.

Mivel InputStreamez egy absztrakt osztály, önmagában nem hasznos. Alosztályai azonban felhasználhatók adatok olvasására.

Az InputStream alosztályai

A funkcionalitás kihasználása érdekében InputStreamhasználhatjuk annak alosztályait. Néhány közülük:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

A következő oktatóanyagban megismerjük ezeket az alosztályokat.

Hozzon létre egy InputStream-et

Az InputStream létrehozásához java.io.InputStreamelőször importálnunk kell a csomagot. A csomag importálása után a következőképpen hozhatjuk létre a bemeneti adatfolyamot.

 // Creates an InputStream InputStream object1 = new FileInputStream(); 

Itt létrehoztunk egy bemeneti adatfolyamot a FileInputStream. Ez azért van, mert InputStreamegy elvont osztály. Ezért nem hozhatunk létre objektumot InputStream.

Megjegyzés : A. Más alosztályaiból is létrehozhatunk bemeneti adatfolyamot InputStream.

Az InputStream módszerei

Az InputStreamosztály különböző módszereket kínál, amelyeket az alosztályai valósítanak meg. Íme néhány a gyakran használt módszerek közül:

  • read() - beolvassa az adatok egy bájtját a bemeneti adatfolyamból
  • read(byte() array) - beolvassa a bájtokat az adatfolyamból és tárolja a megadott tömbben
  • available() - a bemeneti adatfolyamban elérhető bájtok számát adja vissza
  • mark() - jelzi a bemeneti adatfolyam azon pozícióját, amelyre az adatokat beolvasták
  • reset() - visszaadja a vezérlést a patak azon pontjára, ahol a jelölést beállították
  • markSupported()- ellenőrzi, hogy a mark()és reset()metódus támogatott-e az adatfolyamban
  • skips() - kihagyja és eldobja a megadott számú bájtot a bemeneti adatfolyamból
  • close() - bezárja a bemeneti adatfolyamot

Példa: InputStream a FileInputStream használatával

Így valósíthatjuk InputStreammeg az FileInputStreamosztály használatát.

Tegyük fel, hogy van egy input.txt nevű fájlunk a következő tartalommal.

 This is a line of text inside the file. 

Próbáljuk meg elolvasni ezt a fájlt a FileInputStream(alosztályának InputStream) használatával.

 import java.io.FileInputStream; import java.io.InputStream; public class Main ( public static void main(String args()) ( byte() array = new byte(100); try ( InputStream input = new FileInputStream("input.txt"); System.out.println("Available bytes in the file: " + input.available()); // Read byte from the input stream input.read(array); System.out.println("Data read from the file: "); // Convert byte array into string String data = new String(array); System.out.println(data); // Close the input stream input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Kimenet

 Available bytes in the file: 35 Data read from the file: This is a line of text inside the file 

A fenti példában létrehoztunk egy bemeneti adatfolyamot az FileInputStreamosztály felhasználásával. A bemeneti adatfolyam az input.txt fájlhoz van kapcsolva .

 InputStream input = new FileInputStream("input.txt"); 

Az input.txt fájl adatainak kiolvasásához ezt a két módszert valósítottuk meg.

 input.read(array); // to read data from the input stream input.close(); // to close the input stream 

További információkért látogasson el a Java InputStream oldalra (hivatalos Java dokumentáció).

érdekes cikkek...