Java InputStream (koos näitega)

Selles õpetuses õpime näite abil tundma Java InputStream klassi ja selle meetodeid.

InputStreamKlassi java.iopakett on abstraktne Ülemklass mis esindab sisendvoona baitide.

Kuna tegemist InputStreamon abstraktse klassiga, pole see iseenesest kasulik. Selle alamklassides saab aga andmeid lugeda.

InputStreami alamklassid

Funktsioonide kasutamiseks InputStreamsaame kasutada selle alamklasse. Mõned neist on:

  • FileInputStream
  • BaitArrayInputStream
  • ObjectInputStream

Kõigi nende alaklasside kohta õpime järgmises õpetuses.

Looge InputStream

InputStreami loomiseks peame java.io.InputStreamesmalt paketi importima . Kui pakett on imporditud, saame sisendvoo luua järgmiselt.

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

Siin oleme loonud sisendvoo kasutades FileInputStream. Sellepärast, et InputStreamsee on abstraktne klass. Seega ei saa me objekti luua InputStream.

Märkus . Saame sisendvoo luua ka muudest alamklassidest InputStream.

InputStreami meetodid

InputStreamKlassi pakub erinevaid meetodeid, mida rakendatakse selle alamklassiks. Siin on mõned levinumad meetodid:

  • read() - loeb ühe baiti andmeid sisendvoost
  • read(byte() array) - loeb voost baidid ja salvestab määratud massiivi
  • available() - tagastab sisendvoos saadaolevate baitide arvu
  • mark() - tähistab sisendvoos asukohta, kuhu andmed on loetud
  • reset() - tagastab juhtnupu voos punkti, kuhu märk oli seatud
  • markSupported()- kontrollib, kas mark()ja reset()meetod on voos toetatud
  • skips() - jätab sisendvoost konkreetse arvu baite vahele ja loobub sellest
  • close() - sulgeb sisendvoo

Näide: InputStream FileInputStreami abil

Siit saate teada, kuidas klassi InputStreamabil rakendada FileInputStream.

Oletame, et meil on järgmise sisuga fail nimega input.txt .

 This is a line of text inside the file. 

Proovime seda faili lugeda FileInputStream(alamklassiga 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äljund

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

Ülaltoodud näites oleme FileInputStreamklassi abil loonud sisendvoo . Sisendvoog on seotud failiga input.txt .

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

Andmete lugemiseks failist input.txt oleme need kaks meetodit rakendanud.

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

Lisateabe saamiseks külastage Java InputStreami (ametlik Java-dokumentatsioon).

Huvitavad Artiklid...