Dalam tutorial ini, kita akan belajar tentang kelas Java InputStream dan metodenya dengan bantuan sebuah contoh.
The InputStream
kelas dari java.io
paket adalah superclass abstrak yang merupakan input stream byte.
Karena InputStream
merupakan 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.InputStream
paket 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 InputStream
merupakan kelas abstrak. Karenanya kita tidak dapat membuat objek dari InputStream
.
Catatan : Kami juga dapat membuat aliran input dari subkelas lain InputStream
.
Metode InputStream
The InputStream
kelas menyediakan metode yang berbeda yang dilaksanakan oleh subclass. Berikut beberapa metode yang umum digunakan:
read()
- membaca satu byte data dari aliran inputread(byte() array)
- membaca byte dari aliran dan menyimpannya dalam array yang ditentukanavailable()
- mengembalikan jumlah byte yang tersedia di aliran inputmark()
- menandai posisi dalam aliran input yang datanya telah dibacareset()
- mengembalikan kontrol ke titik di aliran tempat tanda ditetapkanmarkSupported()
- memeriksa apakah metodemark()
danreset()
didukung dalam aliranskips()
- melompati dan membuang jumlah byte yang ditentukan dari aliran inputclose()
- menutup aliran input
Contoh: InputStream Menggunakan FileInputStream
Berikut adalah bagaimana kita dapat mengimplementasikan InputStream
menggunakan FileInputStream
kelas.
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 FileInputStream
kelas. 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).