Java BufferedReader (Dengan Contoh)

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

The BufferedReadergolongan orang java.iopakej boleh digunakan dengan pembaca lain untuk membaca data (dalam huruf) dengan lebih cekap.

Ia meluaskan kelas abstrak Reader.

Bekerja BufferedReader

Yang BufferedReadermengekalkan dalaman penampan 8192 watak-watak .

Semasa operasi baca masuk BufferedReader, sebilangan watak dibaca dari cakera dan disimpan dalam penyangga dalaman. Dan dari penyangga dalaman watak dibaca secara individu.

Oleh itu, bilangan komunikasi ke cakera dikurangkan. Inilah sebabnya mengapa membaca watak lebih cepat digunakan BufferedReader.

Buat BufferedReader

Untuk membuat BufferedReader, kita mesti mengimport java.io.BuferedReaderpakej terlebih dahulu. Sebaik sahaja kami mengimport pakej, berikut adalah bagaimana kita dapat membuat pembaca.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

Dalam contoh di atas, kami telah membuat BufferedReaderbuffer bernama dengan FileReaderfile bernama.

Di sini, penyangga dalaman BufferedReadermempunyai ukuran lalai 8192 aksara. Namun, kita dapat menentukan ukuran penyangga dalaman juga.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

Penyangga akan membantu membaca watak dari fail dengan lebih cepat.

Kaedah BufferedReader

The BufferedReaderkelas menyediakan pelaksanaan untuk kaedah yang berbeza di dalam Reader.

baca () Kaedah

  • read() - membaca satu watak dari penyangga dalaman 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 BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // 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 buffer bernama input. Pembaca yang disangga dihubungkan dengan fail input.txt .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Di sini, kami telah menggunakan read()kaedah untuk membaca pelbagai watak dari penyangga dalaman pembaca yang disangga.

melangkau () Kaedah

Untuk membuang dan melangkau bilangan watak yang ditentukan, kita dapat menggunakan skip()kaedahnya. Sebagai contoh,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Pengeluaran

 Data setelah melangkau 5 aksara: adalah sebaris teks di dalam fail. 

Dalam contoh di atas, kami telah menggunakan skip()kaedah untuk melangkau 5 aksara dari pembaca fail. Oleh itu, watak-watak 'T', 'h', 'i', 's'dan ' 'dilangkau dari fail asal.

tutup () Kaedah

Untuk menutup pembaca yang disangga, kita boleh menggunakan close()kaedahnya. Setelah close()kaedah dipanggil, kita tidak dapat menggunakan pembaca untuk membaca data.

Kaedah Lain BufferedReader

Kaedah Penerangan
ready() memeriksa sama ada pembaca fail siap dibaca
mark() tandakan kedudukan dalam pembaca sehingga data yang telah dibaca
reset() mengembalikan kawalan ke titik pada pembaca di mana tanda itu ditetapkan

Untuk mengetahui lebih lanjut, lawati Java BufferedReader (dokumentasi Java rasmi).

Artikel menarik...