Dalam tutorial ini, kita akan belajar mengenai Java BufferedReader dan kaedahnya dengan bantuan contoh.
The BufferedReader
golongan orang java.io
pakej boleh digunakan dengan pembaca lain untuk membaca data (dalam huruf) dengan lebih cekap.
Ia meluaskan kelas abstrak Reader
.
Bekerja BufferedReader
Yang BufferedReader
mengekalkan 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.BuferedReader
pakej 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 BufferedReader
buffer bernama dengan FileReader
file bernama.
Di sini, penyangga dalaman BufferedReader
mempunyai 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 BufferedReader
kelas menyediakan pelaksanaan untuk kaedah yang berbeza di dalam Reader
.
baca () Kaedah
read()
- membaca satu watak dari penyangga dalaman 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 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).