Membaca Input Dari User Menggunakan Class BufferedReader Pada Java

BufferedReader merupakan salah satu class yang paling banyak digunakan dalam pemrograman Java. Pada kesempatan  kali ini kita akan mencoba memahami syntax dasar, penggunaan method dan juga prinsip dari class tersebut untuk membaca input dari user.

Berikut ini adalah hirarki dari class tersebut:

Fungsi dasar dari BufferedReader adalah membaca file dari input stream. Lebih spesifik lagi bahwa class ini digunakan sebagai buffer dari karakter-karakter dengan tujuan membuat penanganan yang lebih efisien untuk string, character, dan array.

Terdapat dua constructor untuk class BufferedReader ini, yaitu:

  • BufferedReader(Reader in)
  • BufferedReader(Reader in, int sz)
Namun, agar lebih mudah untuk memahaminya, maka kita hanya akan menggunakan constructor yang pertama dimana constructor itu hanya mengambil Reader sebagai argumennya.
Berikut ini adalah contoh bagaimana membuat objek dari class BufferedReader:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

Contoh kode program:

Output:

BufferedReader input user

Jadi apa sebenarnya maksud dan tujuan dari contoh program di atas? Pada dasarnya program itu hanya mendapatkan input pengguna dari konsol dan kemudian mencetak pesan selamat datang.

Selanjutnya mari kita pahami setiap bagian kode tersebut. Pertama-tama,  objek BufferedReader dibuat dengan konstruktor yang menggunakan Reader sebagai argumen. Setelah itu, user akan diminta memasukkan namanya pada konsol melalui keyboard dengan System.out.print (“Masukkan nama Anda: “).

Kemudian objek StringBuffer diinisialisasi dengan konten inisial “Selamat datang “. Silakan anda membaca mengenai StringBuffer untuk memahaminya lebih lanjut. Tujuan dari mendeklarasikan StringBuffer “stringBuffer” adalah untuk mempersiapkan pesan selamat datang, yaitu “Selamat datang NamaUser”.

Kemudian  input pengguna berupa baris text dibaca menggunakan method class BufferedReader yaitu readLine(). Metode ini akan mengembalikan baris lengkap dari representasi String sesuai dengan apa yang telah dimasukkan oleh user pada konsol.

Hasil dari method readLine() itu digabungkan dengan konten StringBuffer menggunakan method append().  Method close() dipanggil untuk menutup stream sehingga dapat menghindari kebocoran memori (memory leak) dan komplikasi lebih lanjut pada kode program tersebut.

Anda mungkin juga memperhatikan bahwa pada kode tersebut terdapat blok try-catch dan ini merupakan bagian dari exception handling. Hal ini dikarenakan readLine() dan close () melemparkan IOException sehingga anda harus menangkapnya (catch) atau melemparkannya (throw) kembali.

Dengan demikian jika terjadi error pada saat mendapatkan input dari user maka anda akan mendapatkan pesan dan stack trace lengkap mengenai apa yang terjadi.

Be the first to comment

Leave a Reply

Your email address will not be published.


*