Java InputStream (esimerkin kanssa)

Tässä opetusohjelmassa opitaan Java InputStream -luokasta ja sen menetelmistä esimerkin avulla.

InputStreamLuokka java.iopaketti on abstrakti superclass, joka edustaa tulovirran tavuja.

Koska InputStreamse on abstrakti luokka, se ei ole itsestään hyödyllinen. Sen alaluokkia voidaan kuitenkin käyttää tietojen lukemiseen.

InputStreamin alaluokat

Käyttääkseen InputStream, voimme käyttää sen alaluokkia. Jotkut niistä ovat:

  • FileInputStream
  • TavuArrayInputStream
  • ObjectInputStream

Opimme kaikista näistä alaluokista seuraavassa opetusohjelmassa.

Luo InputStream

InputStreamin luomiseksi meidän on java.io.InputStreamensin tuotava paketti. Kun tuot paketin, voimme luoda tulovirran seuraavasti.

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

Tässä olemme luoneet tulovirran käyttämällä FileInputStream. Se johtuu siitä, että InputStreamse on abstrakti luokka. Siksi emme voi luoda objektia InputStream.

Huomaa : Voimme luoda tulovirran myös muista InputStream.

InputStreamin menetelmät

InputStreamLuokka tarjoaa erilaisia menetelmiä, on toteutettu sen alaluokkien. Tässä on joitain yleisesti käytettyjä menetelmiä:

  • read() - lukee yhden tavun tietoja tulovirrasta
  • read(byte() array) - lukee tavuja virrasta ja tallentaa määritettyyn ryhmään
  • available() - palauttaa syötevirrassa käytettävissä olevan tavujen määrän
  • mark() - merkitsee syötevirran sijainnin, johon tiedot on luettu
  • reset() - palauttaa ohjauksen virran pisteeseen, johon merkki asetettiin
  • markSupported()- tarkistaa, tuetaanko mark()ja reset()-menetelmää streamissa
  • skips() - ohittaa ja hylkää määrätyn määrän tavuja syöttövirrasta
  • close() - sulkee tulovirran

Esimerkki: InputStream FileInputStreamin avulla

Tässä on, miten voimme toteuttaa InputStreamkäyttämällä FileInputStreamluokkaa.

Oletetaan, että meillä on tiedosto nimeltä input.txt, jolla on seuraava sisältö.

 This is a line of text inside the file. 

Yritetään lukea tämä tiedosto käyttämällä FileInputStream(alaluokkaa 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(); ) ) ) 

Tuotos

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

Yllä olevassa esimerkissä olemme luoneet tulovirran FileInputStreamluokan avulla. Syöttövirta on linkitetty tiedostoon input.txt .

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

Olemme lukeneet nämä kaksi tapaa lukeaksesi tietoja input.txt- tiedostosta.

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

Lisätietoja on Java InputStream -sivustossa (virallinen Java-dokumentaatio).

Mielenkiintoisia artikkeleita...