Bagaimana Java InputStream Berfungsi

Bagaimana Java Inputstream Berfungsi



Java membolehkan pembangun bekerja dengan fail. Dalam kes sedemikian, ' InputStream ” kelas berkuat kuasa yang membantu dalam membaca kandungan fail yang ditentukan bersama-sama dengan menganalisis bait yang terkandung. Ini mengakibatkan mengatasi masalah ingatan dan juga mengembalikan kandungan fail terpilih mengikut keperluan dengan cekap.

Tulisan ini akan menghuraikan cara kerja 'InputStream' di Jawa.







Bagaimanakah Java InputStream Berfungsi?

Kelas 'InputStream' bagi ' java.io ” pakej sepadan dengan superclass abstrak yang mengembalikan aliran input yang terdiri daripada bait terhadap fail yang ditentukan.



Subkelas InputStream

Untuk menggunakan fungsi 'InputStream', subkelas berikut boleh digunakan:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Oleh itu, subkelas ini memanjangkan kelas 'InputStream'.





Kaedah InputStream

Kelas 'InputStream' mengandungi kaedah berbeza yang digunakan oleh subkelasnya. Berikut adalah beberapa kaedah yang paling biasa digunakan:

Kaedah Kefungsian
baca() Ia membaca satu bait data daripada aliran input.



baca(bait[] tatasusunan) Ia juga membaca bait daripada strim dan menyimpannya dalam tatasusunan sasaran.

langkau() Kaedah ini melangkau/meninggalkan bilangan bait tertentu daripada aliran input.

tersedia() Ia memberikan bait yang terkandung dalam aliran input.
set semula() Ia memberikan akses kepada titik strim di mana tanda itu ditetapkan.

tanda () Kaedah ini menandakan kedudukan dalam aliran sehingga data telah dibaca.

markSupported() Ia menganalisis sama ada kaedah 'mark()' dan 'reset()' disokong/serasi dalam strim.


Sebelum menuju ke contoh, import pakej berikut untuk berfungsi dengan 'InputStream' dan subkelasnya:

import java.io.FileInputStream;
import java.io.InputStream;


Contoh: Kerja InputStream di Java

Contoh ini menggambarkan kerja 'InputStream' dengan membaca kandungan fail melalui kaedah 'InputStream':

Aliran Masuk kelas awam {
utama lompang statik awam ( Args rentetan [ ] ) {
bait [ ] givenarray = bait baharu [ lima puluh ] ;
cubalah {
InputStream readData = baru FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bait dalam fail -> ' + readData.tersedia ( ) ) ;
readData.read ( array yang diberikan ) ;
System.out.println ( 'Baca Data Fail: ' ) ;
Rentetan mengandungidata = Rentetan baharu ( array yang diberikan ) ;
System.out.println ( mengandungidata ) ;
readData.close ( ) ;
}
tangkap ( Pengecualian kecuali ) {
except.getStackTrace ( ) ;
}
} }


Mengikut baris kod di atas, lakukan langkah-langkah yang dinyatakan di bawah:

    • Mula-mula, buat tatasusunan 'bait' yang boleh mengandungi maksimum ' lima puluh ” nilai bait dalam fail baca.
    • Dalam langkah seterusnya, buat ' InputStream ” menggunakan “FileInputStream” dan kembalikan bait yang tersedia dalam fail yang ditentukan melalui “ yang berkaitan tersedia() ” kaedah.
    • Selepas itu, baca bait daripada aliran input menggunakan ' baca() ” kaedah.
    • Sekarang, tukar tatasusunan bait menjadi rentetan dan paparkan kandungan fail.
    • Akhir sekali, tutup fail baca menggunakan ' tutup() ” kaedah.

Pengeluaran


Dalam hasil ini, boleh dibayangkan bahawa bilangan bait dalam fail iaitu, ruang terkumpul oleh kandungan dikembalikan mengikut julat maksimum dalam tatasusunan bait iaitu, '50'. Selain itu, kandungan fail dikembalikan dengan sewajarnya.

Kandungan Fail


Untuk mendapatkan gambaran keseluruhan tentang ' langkau() ” dan “ set semula() ”, pertimbangkan demonstrasi berikut:


Dalam ilustrasi ini, kaedah 'langkau()' melangkau bilangan bait yang ditentukan iaitu, ' 5 -> Jawa ” daripada kandungan fail dari mula. Kaedah 'reset()' bagaimanapun menetapkan semula strim.

Kesimpulan

' InputStream 'kelas' java.io ” pakej ialah superclass abstrak yang sepadan dengan aliran input bait yang digunakan untuk membaca data fail. Kelas ini mengandungi pelbagai kaedah yang membantu dalam metodologi pembacaan fail dengan berkesan mengikut keperluan. Blog ini menunjukkan tujuan dan fungsi 'InputStream' di Java.