Dalam tutorial ini, kita akan belajar mengenai Java FileInputStream dan kaedahnya dengan bantuan contoh.
The FileInputStream
golongan orang java.io
pakej boleh digunakan untuk membaca data (dalam bait) dari fail.
Ia meluaskan InputStream
kelas abstrak.
Sebelum kita mengetahui FileInputStream
, pastikan untuk mengetahui tentang Java Files.
Buat FileInputStream
Untuk membuat aliran input fail, kita mesti mengimport java.io.FileInputStream
pakej terlebih dahulu. Setelah kami mengimport pakej, berikut adalah bagaimana kita dapat membuat aliran input fail di Java.
1. Menggunakan jalan ke fail
FileInputStream input = new FileInputStream(stringPath);
Di sini, kami telah membuat aliran input yang akan dihubungkan ke fail yang ditentukan oleh jalan.
2. Menggunakan objek fail
FileInputStream input = new FileInputStream(File fileObject);
Di sini, kami telah membuat aliran input yang akan dihubungkan ke fail yang ditentukan oleh fileObject
.
Kaedah FileInputStream
The FileInputStream
kelas menyediakan pelaksanaan untuk kaedah yang berbeza hadir dalam InputStream
kelas.
baca () Kaedah
read()
- membaca satu bait dari failread(byte() array)
- membaca bait dari fail dan menyimpan dalam susunan yang ditentukanread(byte() array, int start, int length)
- membaca bilangan bait sama dengan panjang dari fail dan menyimpan dalam susunan yang ditentukan bermula dari kedudukan awal
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
.
import java.io.FileInputStream; public class Main ( public static void main(String args()) ( try ( FileInputStream input = new FileInputStream("input.txt"); System.out.println("Data in the file: "); // Reads the first byte int i = input.read(); while(i != -1) ( System.out.print((char)i); // Reads next byte from the file i = input.read(); ) input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Pengeluaran
Data dalam fail: Ini adalah sebaris teks di dalam fail.
Dalam contoh di atas, kami telah membuat aliran input fail bernama input. Aliran input dihubungkan dengan fail input.txt .
FileInputStream input = new FileInputStream("input.txt");
Untuk membaca data dari fail, kami telah menggunakan read()
kaedah di dalam loop sementara.
tersedia () Kaedah
Untuk mendapatkan jumlah bait yang ada, kita boleh menggunakan available()
kaedahnya. Sebagai contoh,
import java.io.FileInputStream; public class Main ( public static void main(String args()) ( try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileInputStream input = new FileInputStream("input.txt"); // Returns the number of available bytes System.out.println("Available bytes at the beginning: " + input.available()); // Reads 3 bytes from the file input.read(); input.read(); input.read(); // Returns the number of available bytes System.out.println("Available bytes at the end: " + input.available()); input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Pengeluaran
Byte yang tersedia pada awal: 39 Byte yang tersedia pada akhir: 36
Dalam contoh di atas,
- Mula-mula kami menggunakan
available()
kaedah untuk memeriksa jumlah bait yang tersedia dalam aliran input fail. - Kami kemudian telah menggunakan
read()
kaedah 3 kali untuk membaca 3 bait dari aliran input fail. - Sekarang, setelah membaca bait kami sekali lagi telah memeriksa bait yang ada. Kali ini bait yang tersedia menurun sebanyak 3.
melangkau () Kaedah
Untuk membuang dan melangkau bilangan bait yang ditentukan, kita boleh menggunakan skip()
kaedahnya. Sebagai contoh,
import java.io.FileInputStream; public class Main ( public static void main(String args()) ( try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileInputStream input = new FileInputStream("input.txt"); // Skips the 5 bytes input.skip(5); System.out.println("Input stream after skipping 5 bytes:"); // Reads the first byte int i = input.read(); while (i != -1) ( System.out.print((char) i); // Reads next byte from the file i = input.read(); ) // close() method input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Pengeluaran
Input Stream setelah melangkau 5 bait: adalah sebaris teks di dalam fail.
Dalam contoh di atas, kami telah menggunakan skip()
kaedah untuk melangkau 5 bait data dari aliran input fail. Oleh itu, bait yang mewakili teks "Ini" tidak dibaca dari aliran input.
tutup () Kaedah
Untuk menutup aliran input fail, kita dapat menggunakan close()
kaedahnya. Setelah close()
kaedah dipanggil, kami tidak dapat menggunakan aliran input untuk membaca data.
Dalam semua contoh di atas, kami telah menggunakan close()
kaedah untuk menutup aliran input fail.
Kaedah Lain FileInputStream
Kaedah | Penerangan |
---|---|
finalize() | memastikan bahawa close() kaedah itu disebut |
getChannel() | mengembalikan objek yang FileChannel berkaitan dengan aliran input |
getFD() | mengembalikan deskriptor fail yang berkaitan dengan aliran input |
mark() | tandakan kedudukan dalam aliran input sehingga data telah dibaca |
reset() | mengembalikan kawalan ke titik dalam aliran input di mana tanda itu ditetapkan |
Untuk mengetahui lebih lanjut, kunjungi Java FileInputStream (dokumentasi Java rasmi).