„Java InputStream“ (su pavyzdžiu)

Šioje pamokoje pavyzdžio pagalba sužinosime apie „Java InputStream“ klasę ir jos metodus.

InputStreamIš klasės java.iopaketo yra abstraktus superklasė, kad reiškia įvesties srautą baitų.

Kadangi InputStreamtai yra abstrakti klasė, ji savaime nėra naudinga. Tačiau jo poklasius galima naudoti duomenims nuskaityti.

„InputStream“ poklasiai

Norėdami naudoti „“ funkcionalumą InputStream, galime naudoti jo poklasius. Kai kurie iš jų yra:

  • „FileInputStream“
  • „ByteArrayInputStream“
  • ObjectInputStream

Apie visus šiuos poklasius sužinosime kitoje pamokoje.

Sukurkite „InputStream“

Norėdami sukurti „InputStream“, pirmiausia turime importuoti java.io.InputStreampaketą. Kai importuosime paketą, galime sukurti įvesties srautą.

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

Čia mes sukūrėme įvesties srautą naudodami FileInputStream. Taip yra todėl, kad InputStreamyra abstrakti klasė. Taigi mes negalime sukurti objekto InputStream.

Pastaba : mes taip pat galime sukurti įvesties srautą iš kitų InputStream.

„InputStream“ metodai

InputStreamKlasė suteikia skirtingus metodus, kad būtų įgyvendintos jos poklasius. Štai keletas dažniausiai naudojamų metodų:

  • read() - nuskaito vieną baitą duomenų iš įvesties srauto
  • read(byte() array) - skaito baitus iš srauto ir saugo nurodytame masyve
  • available() - grąžina įvesties sraute galimų baitų skaičių
  • mark() - žymi įvesties srauto vietą, iki kurios duomenys buvo nuskaityti
  • reset() - grąžina valdiklį į tašką sraute, kuriame buvo nustatytas ženklas
  • markSupported()- patikrina, ar sraute palaikomas mark()ir reset()metodas
  • skips() - praleidžia ir atmeta nurodytą baitų skaičių iš įvesties srauto
  • close() - uždaro įvesties srautą

Pavyzdys: „InputStream“ naudojant „FileInputStream“

Štai kaip mes galime įgyvendinti InputStreamnaudodami FileInputStreamklasę.

Tarkime, kad turime failą pavadinimu input.txt su tokiu turiniu.

 This is a line of text inside the file. 

Pabandykime perskaityti šį failą naudodami FileInputStream(poklasį 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(); ) ) ) 

Rezultatas

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

Ankstesniame pavyzdyje mes sukūrėme įvesties srautą naudodami FileInputStreamklasę. Įvesties srautas susietas su failu input.txt .

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

Norėdami perskaityti duomenis iš failo input.txt , mes įdiegėme šiuos du metodus.

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

Norėdami sužinoti daugiau, apsilankykite „Java InputStream“ (oficiali „Java“ dokumentacija).

Įdomios straipsniai...