Java InputStream (Dengan Contoh)

Dalam tutorial ini, kita akan belajar tentang kelas Java InputStream dan metodenya dengan bantuan sebuah contoh.

The InputStreamkelas dari java.iopaket adalah superclass abstrak yang merupakan input stream byte.

Karena InputStreammerupakan kelas abstrak, itu tidak berguna dengan sendirinya. Namun, subkelasnya dapat digunakan untuk membaca data.

Subkelas InputStream

Untuk menggunakan fungsionalitas InputStream, kita dapat menggunakan subkelasnya. Beberapa dari mereka adalah:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

Kita akan mempelajari semua subclass ini di tutorial berikutnya.

Buat InputStream

Untuk membuat InputStream, kita harus mengimpor java.io.InputStreampaket terlebih dahulu. Setelah kami mengimpor paket, inilah cara kami membuat aliran input.

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

Di sini, kami telah membuat aliran input menggunakan FileInputStream. Itu karena InputStreammerupakan kelas abstrak. Karenanya kita tidak dapat membuat objek dari InputStream.

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

Metode InputStream

The InputStreamkelas menyediakan metode yang berbeda yang dilaksanakan oleh subclass. Berikut beberapa metode yang umum digunakan:

  • read() - membaca satu byte data dari aliran input
  • read(byte() array) - membaca byte dari aliran dan menyimpannya dalam array yang ditentukan
  • available() - mengembalikan jumlah byte yang tersedia di aliran input
  • mark() - menandai posisi dalam aliran input yang datanya telah dibaca
  • reset() - mengembalikan kontrol ke titik di aliran tempat tanda ditetapkan
  • markSupported()- memeriksa apakah metode mark()dan reset()didukung dalam aliran
  • skips() - melompati dan membuang jumlah byte yang ditentukan dari aliran input
  • close() - menutup aliran input

Contoh: InputStream Menggunakan FileInputStream

Berikut adalah bagaimana kita dapat mengimplementasikan InputStreammenggunakan FileInputStreamkelas.

Misalkan kita memiliki file bernama input.txt dengan konten berikut.

 This is a line of text inside the file. 

Mari kita coba membaca file ini menggunakan FileInputStream(subclass 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(); ) ) ) 

Keluaran

 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. Arus input dihubungkan dengan file input.txt .

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

Untuk membaca data dari file input.txt , kami telah menerapkan kedua metode ini.

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

Untuk mempelajari lebih lanjut, kunjungi Java InputStream (dokumentasi resmi Java).

Artikel yang menarik...