Rabu, 03 Oktober 2018

Pengolahan Berkas Teks Pada Java

pengolahan berkas teks java

Membaca dan Menulis Berkas dengan Redirect dari Standard Input

            Sebelumnya kita pernah mempelajari bagaimana menulis dan membaca berkas teks dengan me-redirectdari standard input dan output. Sebagai contoh, misalkan sebuah program Halo.java berikut:
public class Halo

{

public static void main(String[] args)

{

System.out.println("Halo! Apa kabar dunia?");

}

}
              Jika dijalankan, program di atas akan mencetak “Halo! Apa kabar dunia?” di terminal. Keluaran yang dihasilkan program tersebut bisa disimpan ke suatu berkas dengan menambahkan >namaberkas pada saat dijalankan, contohnya:
java Halo > hasil.txt
Jika perintah di atas dijalankan, maka teks “Halo! Apa kabar dunia?” akan ditulis di berkashasil.txt. Untuk membaca berkas teks, kita bisa menambahkan <namaberkas. Sebagai contoh program berikut meminta masukan berupa dua string yang berisi informasi nama depan dan nama belakang.
import java.util.Scanner;

public class CetakNama

{

public static void main(String[] args)

{

Scanner input = new Scanner(System.in);

String namaDepan = input.next();

String namaBelakang = input.next();

System.out.println("Nama: " + namaDepan + " " + namaBelakang);
}
}
              Kita bisa memasukkan nama depan dan nama belakang di terminal. Kita bisa juga menulisnya di berkas (misalnya namaku.txt) lalu dijalankan dengan perintah berikut. 
java CetakNama < namaku.txt
             Bagaimana jika ingin membaca masukan dari berkas dan menulis ke berkas yang lain? Kita bisa menggunakan keduanya secara bersamaan. Sebagai contoh, program CetakSemuaBaris.java
berikut membaca masukan teks dalam satu baris dan mencetak ke layar.
    
import java.util.Scanner;

public class CetakSemuaBaris

{

public static void main(String[] args)

{

Scanner input = new Scanner(System.in);

String teksBaris;

while (input.hasNextLine()) {
teksBaris = input.nextLine();
System.out.println(teksBaris);
}
}
}
Program di atas bisa digunakan untuk menyalin isi suatu berkas teks ke berkas lain dengan perintah 
java CetakSemuaBaris < berkas.txt > salinan_berkas.txt
Perintah di atas mengatakan: jalankan CetakSemuaBaris dengan membaca berkas.txt sebagai masukan lalu simpan keluarannya di salinan_berkas.txt.
Selain membaca dan menulis berkas, kita juga bisa menambahkan teks ke berkas yang sudah ada
dengan menambahkan >>namaberkas. Silakan dicoba sendiri.

Membaca dan Menulis Berkas Langsung dari Program Java

Sekarang, kita akan mempelajari cara membaca dan menulis berkas teks langsung dari program Java.Untuk membaca berkas, kita membutuhkan kelas Scanner (yang sudah digunakan sebelumnya) danFile. Sebuah objek dari kelas File menjadi parameter dari konstruktor objek Scanner (pada contoh sebelumnya menggunakan parameter System.in). Misalkan kita ingin memodifikasi program CetakSemuaBaris.java di atas supaya membaca langsung dari berkas tanpa menggunakan redirection dari standard input. 
import java.util.Scanner;

import java.io.File;

public class CetakBerkas

{

public static void main(String[] args)

{

2 dari 7

File berkasDiolah = new File("CetakBerkas.java");

Scanner input = new Scanner(berkasDiolah);
String teksBaris;
while (input.hasNextLine()) {
teksBaris = input.nextLine();
System.out.println(teksBaris);
}
} }
Salin program di atas dan compile. Apa yang terjadi? Anda akan mendapatkan pesan error berikut. 
CetakBerkas.java:9: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner input = new Scanner(berkasDiolah);111
Supaya program tersebut bisa dicompile, cukup tambahkan throws Exception di belakang header method main. Materi mengenai Exception akan dibahas di bagian berikutnya. Untuk menulis ke berkas, Anda memerlukan kelas PrintWriter. Gunakan method print atauprintln untuk menulis ke berkas. Berikut adalah contohnya:
import java.io.PrintWriter;

public class TulisBerkas

{

public static void main(String[] args) throws Exception

{

PrintWriter cetakan = new PrintWriter("cetakan.txt");

cetakan.println("Ini baris pertama.");

cetakan.println("Berikutnya baris kedua.");

cetakan.println("Lalu baris ketiga.");
cetakan.close();
}
}
Setelah objek PrintWriter (cetakan) menulis ke berkas, jangan lupa memanggil method close() untuk melepas resource yang digunakan oleh objek PrintWriter. Silakan Anda coba dan lihat
hasilnya jika program di atas dijalankan.

0 komentar

Posting Komentar

Kritik dan Saran Anda sangat kami perlukan