Dalam tutorial ini, kita akan belajar mengenai kelas Java InputStream dan kaedahnya dengan bantuan contoh.
The InputStream
kelas daripada java.io
pakej adalah superclass abstrak yang mewakili aliran input bait.
Oleh kerana InputStream
kelas 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.InputStream
pakej 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 InputStream
merupakan 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 InputStream
kelas menyediakan kaedah yang berbeza yang dilaksanakan oleh subkelasnya. Berikut adalah beberapa kaedah yang biasa digunakan:
read()
- membaca satu bait data dari aliran inputread(byte() array)
- membaca bait dari aliran dan menyimpan dalam susunan yang ditentukanavailable()
- mengembalikan bilangan bait yang tersedia dalam aliran inputmark()
- menandakan kedudukan dalam aliran input sehingga data telah dibacareset()
- mengembalikan kawalan ke titik di aliran di mana tanda itu ditetapkanmarkSupported()
- memeriksa apakah kaedahmark()
danreset()
kaedah disokong dalam aliranskips()
- melangkau dan membuang bilangan bait yang ditentukan dari aliran inputclose()
- menutup aliran input
Contoh: InputStream Menggunakan FileInputStream
Inilah cara kami melaksanakan dengan InputStream
menggunakan FileInputStream
kelas.
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 FileInputStream
kelas. 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).