Membaca Data File Menggunakan Class Scanner Pada Program Java

Class java.util.Scanner sebelumnya telah anda ketahui penggunaanya untuk memperoleh input dari user atau untuk membaca string dan nilai primitif dari konsol. Cara kerja Scanner ini yaitu dengan memecahkan input tersebut menjadi “token” yang dibatasi oleh karakter spasi.

Ada beberapa cara sebenarnya untuk membaca file berupa text atau binary pada Java, diantaranya adalah menggunakan:

  • FileReader
  • BufferedReader
  • FileInputStream
BufferedReader sering digunakan untuk membaca text file.
Oke, kita kembali lagi ke class Scanner, yang saya yakin anda lebih familiar dibandingkan ketiga class tersebut. Scanner ini memang lebih sering digunakan dan lebih populer untuk menangani input dari user. Meskipun demikan, tentunya anda juga senang mengetahui bahwa Scanner bisa digunakan untuk membaca file.
Serupa dengan class BufferedReader, class scanner juga menyediakan buffering namun dengan ukuran yang lebih kecil yaitu 1Kb dan class ini juga dapat digunakan untuk membaca file secara baris per baris.
Ketika anda membaca input dari keyboard komputer maka anda dapat melakukannya dengan membuat objek Scanner:

Scanner input = new Scanner(System.in);

Sedangkan ketika anda ingin membaca dari sebuah file, maka anda dapat membuat objek Scanner sebagai berikut:

Scanner input = new Scanner (new File(nama file));

Method-method Pada Class Scanner

Berikut ini adalah method-method dari class Scanner yang sering digunakan:

Method Penjelasan
public String next() Mengembalikan token berikutnya dari scanner
public String nextLine() Memindahkan scanner ke baris berikutnya dan mengembalikan nilai dalam string
public byte nextByte() Mengscan token berikutnya sebagai suatu byte
public short nextShort() Mengscan token berikutnya sebagai suatu nilai short
public int nextInt() Mengscan token berikutnya sebagai suatu nilai int
public long nextLong() Mengscan token berikutnya sebagai suatu nilai long
public float nextFloat() Mengscan token berikutnya sebagai suatu nilai float
public double nextDouble() Mengscan token berikutnya sebagai suatu nilai double
boolean hasNext() Mengembalikan nilai true jika scanner memiliki token lainnya dalam input
void close Untuk menutup scanner
Scanner useDelimiter(String pattern) Method ini menetapkan pola pemisah scanner ke pola yang dibangun dari String yang ditentukan.

 

Contoh Penggunaan Class Scanner Untuk Membaca File Text

Misalkan terdapat file dengan nama nilai ujian.txt yang terdapat di path direktori C:/bahasa java/nilai ujian.txt. Di dalam file text tersebut terdapat data mengenai nama awal, tengah, dan akhir siswa beserta dengan nilai ujiannya.

Seperti pada gambar berikut ini:

membaca-file-nilai-ujian-dengan-class-Scanner

Kode program berikut ini akan menampilkan isi file tersebut pada konsol dengan menggunakan class Scanner.

Agar Scanner bisa membaca data dari sebuah file maka anda harus membuat objek dari class java.io.File dengan menggunakan constructor new File (nama file). Kemudian menggunakan new Scanner(File) untuk membuat sebuah Scanner untuk file.

Exception bisa saja terlempar ketika memanggil constructor new Scanner(File), oleh karena itu method main mendeklarasikan throws Exception.

Pada kode juga terdapat while loop yang akan melakukan perulangan untuk membaca nama awal, tengah, dan akhir dari siswa beserta nilainya.

Selanjutnya bagian terakhir adalah pernyataan input.close(). Sebenarnya anda tidak perlu untuk menutupnya. Namun, ini adalah praktek yang bagus untuk melepaskan sumberdaya yang dimiliki oleh file tersebut.

Output:

Be the first to comment

Leave a Reply

Your email address will not be published.


*