Java InputStream (Dengan Contoh)

Dalam tutorial ini, kita akan belajar mengenai kelas Java InputStream dan kaedahnya dengan bantuan contoh.

The InputStreamkelas daripada java.iopakej adalah superclass abstrak yang mewakili aliran input bait.

Oleh kerana InputStreamkelas abstrak, ia tidak berguna dengan sendirinya. Walau bagaimanapun, subkelasnya dapat digunakan untuk membaca data.

Subkelas InputStream

Untuk menggunakan fungsi InputStream, kita dapat menggunakan subkelasnya. Sebahagian daripadanya adalah:

  • FailInputStream
  • ByteArrayInputStream
  • ObjectInputStream

Kami akan belajar mengenai semua subkelas ini dalam tutorial seterusnya.

Buat InputStream

Untuk membuat InputStream, kita mesti mengimport java.io.InputStreampakej terlebih dahulu. Setelah kami mengimport pakej, berikut adalah bagaimana kita dapat membuat aliran input.

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

Di sini, kami telah membuat aliran input menggunakan FileInputStream. Ini kerana InputStreammerupakan kelas abstrak. Oleh itu kita tidak dapat membuat objek InputStream.

Catatan : Kami juga dapat membuat aliran input dari subkelas lain dari InputStream.

Kaedah InputStream

The InputStreamkelas menyediakan kaedah yang berbeza yang dilaksanakan oleh subkelasnya. Berikut adalah beberapa kaedah yang biasa digunakan:

  • read() - membaca satu bait data dari aliran input
  • read(byte() array) - membaca bait dari aliran dan menyimpan dalam susunan yang ditentukan
  • available() - mengembalikan bilangan bait yang tersedia dalam aliran input
  • mark() - menandakan kedudukan dalam aliran input sehingga data telah dibaca
  • reset() - mengembalikan kawalan ke titik di aliran di mana tanda itu ditetapkan
  • markSupported()- memeriksa apakah kaedah mark()dan reset()kaedah disokong dalam aliran
  • skips() - melangkau dan membuang bilangan bait yang ditentukan dari aliran input
  • close() - menutup aliran input

Contoh: InputStream Menggunakan FileInputStream

Inilah cara kami melaksanakan dengan InputStreammenggunakan FileInputStreamkelas.

Katakan kita mempunyai fail bernama input.txt dengan kandungan berikut.

 This is a line of text inside the file. 

Mari cuba baca fail ini menggunakan FileInputStream(subkelas dari 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(); ) ) ) 

Pengeluaran

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

Dalam contoh di atas, kami telah membuat aliran input menggunakan FileInputStreamkelas. Aliran input dihubungkan dengan input.txt fail .

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

Untuk membaca data dari fail input.txt , kami telah menerapkan dua kaedah ini.

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

Untuk mengetahui lebih lanjut, kunjungi Java InputStream (dokumentasi Java rasmi).

Artikel menarik...