Tujuan membangun buffer adalah untuk meningkatkan kinerja transmisi dan membuat kami mengirimkan data lebih cepat.
Buffer sebenarnya sangat sederhana. Ini merangkum array secara internal dan menggunakan array untuk menyimpan data untuk menyediakan beberapa metode untuk mengakses array.
Pengoperasian metode ini adalah untuk menunjuk ke array (penanda sudut).
Prinsip Buffer: Dapatkan batch data dari sumber ke buffer, lalu keluarkan satu per satu dari buffer dan gunakan -1 sebagai tanda akhir.
Di BufferedReader, kami memiliki metode membaca () dan readline () untuk membaca data.
baca () memiliki parameter char [], cbuf, int off, int len. Nilai pengembaliannya adalah -1
Metode readline () adalah mengambil bagian dalamnya baris demi baris seperti string container stringbuffder yang nilainya nol;
Pertama, tentukan kelas untuk mendefinisikan dua metode untuk membaca data di kelas myReader () dan myreadline ();
kelas publik mybufferedReader {private filereader fr; Char pribadi [] buff = char baru [1024]; private int zz = 0; jumlah int private = 0; MybufferedReader (filereader fr) {this.fr = fr; } public int myread () melempar ioException {if (count == 0) {count = fr.read (buff); zz = 0; } if (count <0) return -1; char ch = buff [zz ++]; menghitung--; mengembalikan ch; } public String myReadline () melempar ioException {stringBuilder stb = new stringBuilder (); int ch = 0; while ((ch = myread ())! =-1) {if (ch == '/r') lanjutkan; if (ch == '/n') mengembalikan stb.tostring (); stb.append ((char) ch); } if (stb.length ()! = 0) return stb.toString (); kembali nol; } public void myclose () melempar ioException {fr.close (); }}Di dalamnya, saya mendefinisikan pointer ZZ dan penghitungan penghitung buffer untuk merekam perubahan dalam data baca di buffer
Saat menghitung == 0, baca data ke buffer zz 0. Baca dari nomor pertama
Ketika data kurang dari 0, ia mengembalikan -1 setelah membaca.
Buat container string stringBuilder di myreadline () untuk menyimpan data. Ketika STB ==/N, baris dibaca dan nilai pengembaliannya nol;
Contoh di atas BufferedReader adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.