Class BufferedReader Java Beserta Contohnya
Penggunaan Class BufferedReader
- BufferedReader(Reader in): Menciptakan sebuah steram input karakter buffer yang menggunakan sebuah nilai ukuran default pada input buffer.
- BufferedReader(Reader in, int sz): Menciptakan sebuah stream buffer input karakter yang digunakan pada input buffer dari ukuran spesifik.
Class Methods BufferedReader:
- close(): Menutup stream dan melepaskan sumber daya sistem apapun yang berasosiasi dengannya. Ketika aliran atau stream tersebut telah ditutup, maka read(), ready(), mark(), reset(), atau skip() akan dilemparkan kebagian IOException, yang akan menutup sebuah aliran sebelumnya, yang tidak akan memberikan efek apapun pada program.
- mark(): Menandai posisi saat ini dari sebuah stream. Panggilan berikutnya ke reset() akan mencoba mengubah posisi aliran ke titik ini.
- markSupported(): Memberitahukan apakah stream tersebut mendukung operasi mark() atau tidak.
- read(): Membaca sebuah karakter tunggal.
- read(char[] cbuf, int off, int len): Membaca karakter menjadi sebuah porsi dari suatu array. Method ini mengimplementasikan kontrak umum dari bacaan method yang berkoresponden dari class Reader. Sebagai tambahan, fungsi ini juga mencoba membaca karakter sebanyak mungkin dengan berulang kali untuk memanggil metode baca dari aliran yang mendasarinya.
- readLine(): Membaca sebuah baris dari teks. Sebuah baris yang telah ditentukan akan dimatikan oleh baris apapun seperti '\n', ‘\r’, atau nilai return yang diikuti segera dengan umpan baris.
- ready(): Memberitahu apakah stream tersebut telah siap dibaca atau tidak.
- reset(): Melakukan reset stream pada tanda sebelumnya.
- skip(long): Melewatkan karakter tertentu.
// Program Java yang
// mendemonstrasikan method
// BufferedReader.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
class BufferedReaderDemo
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("file.txt");
BufferedReader br = new BufferedReader(fr);
char c[]=new char[20];
// Ilustrasi method
// markSupported().
if(br.markSupported())
{
System.out.println("mark() method is supported");
// Ilustrasi method mark.
br.mark(100);
}
// Melewati 8 karakter.
br.skip(8);
// Ilustrasi method ready().
if(br.ready())
{
// ILustrasi method
// readLine().
System.out.println(br.readLine());
// Ilustrasi read(char c[],int
// off,int len).
br.read(c);
for (int i = 0; i <20 ; i++)
{System.out.print(c[i]);}
System.out.println();
// Ilustrasi method reset().
br.reset();
for (int i = 0; i <8 ; i++)
{
// Ilustrasi method read().
System.out.print((char)br.read());
}
}
}
}
first line
this is second line
This is
- Efisiensi: Buffering memungkinkan penggunaan sumber daya yang lebih efisien karena membaca data dalam jumlah besar sekaligus, mengurangi jumlah panggilan sistem operasi yang diperlukan.
- Mudah Digunakan: BufferedReader menyediakan metode yang mudah digunakan untuk membaca teks dari berbagai sumber input.
- Fleksibilitas: Dapat digunakan dengan berbagai macam sumber input, seperti file, string, atau bahkan System.in untuk membaca dari konsol.
- Meningkatkan Performa: Dibandingkan dengan metode pembacaan langsung, BufferedReader cenderung lebih cepat karena membaca data dalam jumlah besar sekaligus ke dalam buffer, mengurangi overhead pembacaan per karakter atau per byte.
- Meminimalkan Panggilan Sistem Operasi: Dengan membaca data dalam jumlah besar sekaligus, BufferedReader mengurangi jumlah panggilan ke sistem operasi, yang dapat meningkatkan kinerja aplikasi, terutama dalam operasi I/O yang intensif.
- Mengoptimalkan Penggunaan Sumber Daya: Dengan menggunakan buffer, BufferedReader dapat mengoptimalkan penggunaan sumber daya seperti memori dan bandwidth, karena data tidak perlu dibaca dari sumber asli setiap kali akses diperlukan.
- Fungsionalitas Tambahan: Selain membaca baris teks, BufferedReader juga menyediakan metode tambahan seperti lines(), yang memungkinkan pembacaan baris teks dalam bentuk aliran Stream, memudahkan pengolahan data yang lebih kompleks.
- Kemudahan Pengelolaan Error: BufferedReader menyediakan penanganan error yang baik melalui IOException, memungkinkan pengembang untuk secara elegan menangani situasi yang tidak terduga saat pembacaan data.
- Tidak Cocok untuk Pembacaan Data Binary: Meskipun ideal untuk membaca data teks, BufferedReader tidak cocok untuk membaca data dalam format biner karena biasanya data biner tidak diinterpretasikan dengan benar ketika dibaca menggunakan metode pembacaan teks.
- Overhead Karena Buffering: Meskipun buffering dapat meningkatkan kinerja dengan mengurangi jumlah panggilan ke sistem operasi, namun memperkenalkan overhead karena pengelolaan buffer. Dalam beberapa kasus, overhead ini mungkin tidak signifikan, tetapi perlu diperhatikan dalam situasi di mana efisiensi sangat penting.
- Membutuhkan Penanganan Eksepsi: Penggunaan BufferedReader membutuhkan penanganan eksepsi yang baik untuk menangani situasi yang tidak terduga, seperti kesalahan pembacaan atau penutupan yang tidak berhasil. Hal ini dapat meningkatkan kompleksitas kode dan memerlukan perhatian ekstra dari pengembang.
- Potensi Overhead dalam Kapasitas Buffer: Ukuran buffer yang terlalu besar atau terlalu kecil dapat mengakibatkan overhead yang tidak perlu. Pengaturan ukuran buffer yang optimal bisa menjadi tantangan tergantung pada kasus penggunaan dan lingkungan aplikasi.
- Pemrosesan Berbasis Teks: Karena sifatnya yang berbasis teks, BufferedReader tidak cocok untuk membaca data yang tidak terstruktur atau data yang memerlukan pemrosesan langsung byte per byte tanpa interpretasi teks.
Kesimpulan
6 komentar untuk "Class BufferedReader Java Beserta Contohnya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan class bufferedReader pada bahasa pemrograman Java?
BalasHapusBufferedReader Java merupakan class yang menyederhanakan pembacaan teks dari aliran input karakter.
HapusClass bufferedReader Java berfungsi untuk menyangga karakter untuk memungkinkan proses pembacaan data teks yang efisien.
HapusClass bufferedReader Java berfungsi untuk membaca teks dari aliran input karakter, buffering karakter sehingga menyediakan proses pembacaan karakter, array, dan baris yang efisien.
HapusApakah class bufferedReader Java lebih baik daripada class Scanner Java?
BalasHapusClass bufferedReader Java bekerja sedikit lebih cepat dibandingkan dengan Scanner karena class Scanner melakukan penguraian data masukkan, sedangkan bufferedReader hanya membaca urutan karakter saja.
Hapus