Java InputStream (s príkladom)

V tomto tutoriále sa pomocou príkladu dozvieme o triede Java InputStream a jej metódach.

InputStreamTrieda java.iobalíčka je abstraktný nadtřída, ktorý predstavuje vstupný prúd bajtov.

Pretože InputStreamide o abstraktnú triedu, nie je sama osebe užitočná. Jeho podtriedy však možno použiť na čítanie údajov.

Podtriedy InputStream

Aby sme mohli využiť funkčnosť InputStream, môžeme použiť jej podtriedy. Niektoré z nich sú:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

O všetkých týchto podtriedach sa dozvieme v ďalšom návode.

Vytvorte InputStream

Aby sme mohli vytvoriť InputStream, musíme najskôr importovať java.io.InputStreambalík. Po importovaní balíka môžeme vytvoriť vstupný prúd.

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

Tu sme vytvorili vstupný prúd pomocou FileInputStream. Je to preto, lebo InputStreamide o abstraktnú triedu. Preto nemôžeme vytvoriť objekt InputStream.

Poznámka : Vstupný tok môžeme vytvoriť aj z iných podtried triedy InputStream.

Metódy InputStream

InputStreamTrieda poskytuje rôzne metódy, ktoré sú implementované jej podtriedy. Tu uvádzame niektoré z bežne používaných metód:

  • read() - načíta jeden bajt dát zo vstupného toku
  • read(byte() array) - číta bajty z streamu a ukladá ich do zadaného poľa
  • available() - vráti počet bajtov dostupných vo vstupnom toku
  • mark() - označí pozíciu vo vstupnom toku, do ktorej boli načítané údaje
  • reset() - vráti ovládací prvok do bodu v streame, kde bola nastavená značka
  • markSupported()- skontroluje, či je v prúde podporovaná metóda mark()areset()
  • skips() - preskočí a zahodí zadaný počet bajtov zo vstupného toku
  • close() - uzavrie vstupný prúd

Príklad: InputStream pomocou FileInputStream

Takto môžeme implementovať InputStreampoužitie FileInputStreamtriedy.

Predpokladajme, že máme súbor s názvom input.txt s nasledujúcim obsahom.

 This is a line of text inside the file. 

Pokúsme sa tento súbor prečítať pomocou FileInputStream(podtriedy InputStream).

 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(); ) ) ) 

Výkon

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

Vo vyššie uvedenom príklade sme vytvorili vstupný tok pomocou FileInputStreamtriedy. Vstupný prúd je prepojený so súborom input.txt .

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

Na načítanie údajov zo súboru input.txt sme implementovali tieto dve metódy.

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

Ak sa chcete dozvedieť viac, navštívte Java InputStream (oficiálna dokumentácia Java).

Zaujímavé články...