Selles õpetuses õpime näite abil tundma Java InputStream klassi ja selle meetodeid.
InputStream
Klassi java.io
pakett on abstraktne Ülemklass mis esindab sisendvoona baitide.
Kuna tegemist InputStream
on abstraktse klassiga, pole see iseenesest kasulik. Selle alamklassides saab aga andmeid lugeda.
InputStreami alamklassid
Funktsioonide kasutamiseks InputStream
saame 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.InputStream
esmalt 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 InputStream
see on abstraktne klass. Seega ei saa me objekti luua InputStream
.
Märkus . Saame sisendvoo luua ka muudest alamklassidest InputStream
.
InputStreami meetodid
InputStream
Klassi pakub erinevaid meetodeid, mida rakendatakse selle alamklassiks. Siin on mõned levinumad meetodid:
read()
- loeb ühe baiti andmeid sisendvoostread(byte() array)
- loeb voost baidid ja salvestab määratud massiiviavailable()
- tagastab sisendvoos saadaolevate baitide arvumark()
- tähistab sisendvoos asukohta, kuhu andmed on loetudreset()
- tagastab juhtnupu voos punkti, kuhu märk oli seatudmarkSupported()
- kontrollib, kasmark()
jareset()
meetod on voos toetatudskips()
- jätab sisendvoost konkreetse arvu baite vahele ja loobub sellestclose()
- sulgeb sisendvoo
Näide: InputStream FileInputStreami abil
Siit saate teada, kuidas klassi InputStream
abil 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 FileInputStream
klassi 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).