Java InputStream (ar piemēru)

Šajā apmācībā mēs ar piemēra palīdzību uzzināsim par Java InputStream klasi un tās metodēm.

InputStreamNo klases java.iopaketē ir abstrakta superclass kas apzīmē ievades plūsma bytes.

Tā kā InputStreamtā ir abstrakta klase, tā pati par sevi nav noderīga. Tomēr tā apakšklases var izmantot datu lasīšanai.

InputStream apakšklases

Lai izmantotu vietnes funkcionalitāti InputStream, mēs varam izmantot tās apakšklases. Daži no tiem ir:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

Mēs uzzināsim par visām šīm apakšklasēm nākamajā apmācībā.

Izveidojiet InputStream

Lai izveidotu InputStream, mums vispirms ir jāimportē java.io.InputStreampakotne. Pēc pakotnes importēšanas mēs varam izveidot ievades straumi.

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

Šeit mēs esam izveidojuši ievades straumi, izmantojot FileInputStream. Tas ir tāpēc, ka InputStreamtā ir abstrakta klase. Tādējādi mēs nevaram izveidot objektu InputStream.

Piezīme . Mēs varam izveidot ievades straumi arī no citām InputStream.

InputStream metodes

InputStreamKlase nodrošina dažādas metodes, kas tiek īstenoti ar tās apakšklases. Šeit ir dažas no visbiežāk izmantotajām metodēm:

  • read() - nolasa vienu baitu datu no ievades straumes
  • read(byte() array) - nolasa baitus no straumes un glabā norādītajā masīvā
  • available() - atgriež ievades straumē pieejamo baitu skaitu
  • mark() - atzīmē ievades straumes pozīciju, līdz kurai dati ir nolasīti
  • reset() - atgriež vadību straumes vietā, kur tika iestatīta atzīme
  • markSupported()- pārbauda, ​​vai plūsmā tiek atbalstīta mark()un reset()metode
  • skips() - izlaiž un izmet norādīto baitu skaitu no ievades straumes
  • close() - aizver ievades straumi

Piemērs: InputStream, izmantojot FileInputStream

Lūk, kā mēs varam ieviest, InputStreamizmantojot FileInputStreamklasi.

Pieņemsim, ka mums ir fails ar nosaukumu input.txt ar šādu saturu.

 This is a line of text inside the file. 

Mēģināsim izlasīt šo failu, izmantojot FileInputStream(apakšklasi 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(); ) ) ) 

Rezultāts

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

Iepriekš minētajā piemērā mēs esam izveidojuši ievades straumi, izmantojot FileInputStreamklasi. Ievades straume ir saistīta ar failu input.txt .

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

Lai lasītu datus no faila input.txt , mēs esam ieviesuši šīs divas metodes.

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

Lai uzzinātu vairāk, apmeklējiet Java InputStream (oficiālā Java dokumentācija).

Interesanti raksti...