Java FileReader (Dengan Contoh)

Dalam tutorial ini, kita akan belajar mengenai Java FileReader dan kaedahnya dengan bantuan contoh.

The FileReadergolongan orang java.iopakej boleh digunakan untuk membaca data (dalam huruf) dari fail.

Ia memanjangkan InputSreamReaderkelas.

Sebelum anda mengetahui tentang FileReader, pastikan anda mengetahui mengenai Fail Java.

Buat Pembaca Fail

Untuk membuat pembaca fail, kita mesti mengimport java.io.FileReaderpakej 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 Charsetkelas untuk menentukan pengekodan watak pembaca fail.

Kaedah Pembaca Fail

The FileReaderkelas menyediakan pelaksanaan untuk kaedah yang berbeza hadir dalam Readerkelas.

baca () Kaedah

  • read() - membaca watak tunggal dari pembaca
  • read(char() array) - membaca watak dari pembaca dan menyimpan dalam susunan yang ditentukan
  • read(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).

Artikel menarik...