Dalam tutorial ini, kita akan belajar mengenai Java FileReader dan kaedahnya dengan bantuan contoh.
The FileReader
golongan orang java.io
pakej boleh digunakan untuk membaca data (dalam huruf) dari fail.
Ia memanjangkan InputSreamReader
kelas.
Sebelum anda mengetahui tentang FileReader
, pastikan anda mengetahui mengenai Fail Java.
Buat Pembaca Fail
Untuk membuat pembaca fail, kita mesti mengimport java.io.FileReader
pakej terlebih dahulu. Sebaik sahaja kami mengimport pakej, berikut adalah bagaimana kita dapat membuat pembaca fail.
1. Menggunakan nama fail
FileReader input = new FileReader(String name);
Di sini, kami telah membuat pembaca fail yang akan dihubungkan ke fail yang ditentukan dengan nama.
2. Menggunakan objek fail
FileReader input = new FileReader(File fileObj);
Di sini, kami telah membuat pembaca fail yang akan dihubungkan ke fail yang ditentukan oleh objek fail.
Dalam contoh di atas, data dalam fail disimpan menggunakan beberapa pengekodan watak lalai.
Namun, sejak Java 11 kita dapat menentukan jenis pengekodan karakter ( UTF-8 atau UTF-16 ) dalam file juga.
FileReader input = new FileReader(String file, Charset cs);
Di sini, kami telah menggunakan Charset
kelas untuk menentukan pengekodan watak pembaca fail.
Kaedah Pembaca Fail
The FileReader
kelas menyediakan pelaksanaan untuk kaedah yang berbeza hadir dalam Reader
kelas.
baca () Kaedah
read()
- membaca watak tunggal dari pembacaread(char() array)
- membaca watak dari pembaca dan menyimpan dalam susunan yang ditentukanread(char() array, int start, int length)
- membaca bilangan aksara sama dengan panjang dari pembaca dan menyimpan dalam susunan yang ditentukan bermula dari kedudukan permulaan
Sebagai contoh, anggaplah kita mempunyai fail bernama input.txt dengan kandungan berikut.
This is a line of text inside the file.
Mari cuba baca fail menggunakan FileReader
.
import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader 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 pembaca fail bernama input. Pembaca fail dihubungkan dengan input.txt fail .
FileInputStream input = new FileInputStream("input.txt");
Untuk membaca data dari fail, kami telah menggunakan read()
kaedahnya.
kaedah getEncoding ()
The getEncoding()
kaedah boleh digunakan untuk mendapatkan jenis pengekodan yang digunakan untuk menyimpan data dalam fail. Sebagai contoh,
import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Pengeluaran
Pengekodan watak input1: Cp1252 Pengekodan watak input2: UTF8
Dalam contoh di atas, kami telah membuat 2 pembaca fail bernama input1 dan input2.
- input1 tidak menentukan pengekodan watak. Oleh itu
getEncoding()
kaedah mengembalikan pengekodan watak lalai. - input2 menentukan pengekodan watak, UTF8 . Oleh itu
getEncoding()
kaedah mengembalikan pengekodan watak yang ditentukan.
Catatan : Kami telah menggunakan Charset.forName()
kaedah untuk menentukan jenis pengekodan watak. Untuk mengetahui lebih lanjut, lawati Java Charset (dokumentasi Java rasmi).
tutup () Kaedah
Untuk menutup pembaca fail, kita boleh menggunakan close()
kaedahnya. Setelah close()
kaedah dipanggil, kita tidak dapat menggunakan pembaca untuk membaca data.
Kaedah lain dari FileReader
Kaedah | Penerangan |
---|---|
ready() | memeriksa sama ada pembaca fail siap dibaca |
mark() | tandakan kedudukan dalam pembaca fail sehingga data yang telah dibaca |
reset() | mengembalikan kawalan ke titik pada pembaca di mana tanda itu ditetapkan |
Untuk mengetahui lebih lanjut, lawati Java FileReader (dokumentasi Java rasmi).