OPERASI FILE & EXCEPTION HANDLING Herman Tolle
OPERASI FILE
Untuk program sederhana, input cukup dari keyboard kemudian diproses dan ditampilkan hasilnya ke layar monitor. Data yang disimpan dalam variabel, array, dan objek bersifat sementara, hilang ketika program berhenti. Untuk menyimpan data secara permanen dalam program, diperlukan suatu file
OPERASI FILE
Untuk program dengan data yang sangat besar/ banyak dibutuhkan operasi file. Program akan menyimpan dan membaca data dari file yang berada di hard disk. Dengan operasi file, data menjadi bersifat permanen. Tidak akan hilang meskipun komputer dimatikan.
Perintah Operasi File
Library:
import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream;
Scanner untuk membaca isi file. PrintStream untuk menulis ke file.
TestKelasFile.java public class TestKelasFile { public static void main(String[] args) { java.io.File file = new java.io.File(“indonesianflag.bmp"); System.out.println("Apakah file ini ada? "+ file.exists()); System.out.println("File memiliki " + file.length() + " byte"); System.out.println("Dapatkah file ini dibaca? " + file.canRead()); System.out.println("Dapatkah file ini ditulis? " + file.canWrite()); System.out.println("Apakah ini direktori? " + file.isDirectory()); System.out.println("Apakah ini suatu file? " + file.isFile()); System.out.println("Apakah ini nama absolut? " + file.isAbsolute()); System.out.println("Apakah file ini hidden? " + file.isHidden()); System.out.println("Absolute path adalah " + file.getAbsolutePath()); System.out.println("Terakhir kali dimodifikasi " + new java.util.Date(file.lastModified())); } }
TulisData.java public class TulisData { public static void main(String[] args) throws Exception { java.io.File file = new java.io.File("skor.txt"); if (file.exists()) { System.out.println("File sudah ada"); System.exit(0); } // Menciptakan suatu file java.io.PrintWriter keluaran = new java.io.PrintWriter(file); // Menulis keluaran terformat ke dalam file keluaran.print(“Budi Sudarsono"); keluaran.println(90); keluaran.print(“Bambang Pamungkas"); keluaran.println(85); // Menutup file keluaran.close(); } }
BacaData.java import java.util.Scanner; public class BacaData { public static void main(String[] args) throws Exception { // Menciptakan suatu instans File java.io.File file = new java.io.File("skor.txt"); // Menciptakan suatu Scanner untuk file Scanner masukan = new Scanner(file); // Membaca data dari file while (masukan.hasNext()) { String namaPertama = masukan.next(); String namaAkhir = masukan.next(); int score = masukan.nextInt(); System.out.println( namaPertama + “ " + namaAkhir + " " + score); }
// Menutup file masukan.close(); } }
Menulis ke File import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; class TulisFile { public static void main(String args[]) throws FileNotFoundException { PrintStream diskWriter = new PrintStream(“cookedData.txt”); double unitPrice, quantity, total; unitPrice = 1000; quantity = 5; total = unitPrice * quantity; diskWriter.println(total); } }
Membaca dari File import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; class ReadAndWrite { public static void main(String args[]) throws FileNotFoundException { Scanner diskScanner = new Scanner(new File(“rawData.txt”)); double unitPrice, quantity, total; unitPrice = diskScanner.nextDouble(); quantity = diskScanner.nextInt(); total = unitPrice * quantity; System.out.println(total); } }
Membaca & Menulis File import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; class ReadAndWrite { public static void main(String args[]) throws FileNotFoundException { Scanner diskScanner = new Scanner(new File(“rawData.txt”)); PrintStream diskWriter = new PrintStream(“cookedData.txt”); double unitPrice, quantity, total; unitPrice = diskScanner.nextDouble(); quantity = diskScanner.nextInt(); total = unitPrice * quantity; diskWriter.println(total);
} }
Exception Handling
Exception adalah setiap kejadian yang abnormal, tidak diharapkan, dan kondisi yang tidak umum yang mungkin terjadi pada saat run-time program. Java exception handling digunakan untuk menangani kondisi error dalam sebuah program secara sistematis dengan melakukan tindakan yang diperlukan. Java exception dimulai dengan kata kunci throw dan ditangani dalam sebuah blok catch.
Struktur Program try
{
} catch (<exception type1> <parameter1>) { // 0 or more <statements> } } finally { // finally block <statements> }
public class DivideException2 { public static void main(String[] args) { int result = division(100,0); // Line 2 System.out.println("result : "+result); }
public static int division(int totalSum, int totalNumber) { int quotient = -1; System.out.println("Computing Division."); try { quotient = totalSum/totalNumber; } catch(Exception e) { System.out.println("Exception : "+ e.getMessage()); } finally {return quotient; } }
(+) Running Other Program import java.io.*; public class CallCLPgm { public static void main(String[] args) { try { Process theProcess = Runtime.getRuntime().exec(“notepad.exe"); } catch(IOException e) { System.err.println("Error on exec() method"); e.printStackTrace(); } } // end main() method } // end class
Latihan 1.
2.
3.
Buatlah program untuk menyimpan data Nama dan Nomor Telepon pada sebuah file (“contact.txt”) Buatlah program untuk membaca dan menampilkan isi file tersebut (“contact.txt”) Buatlah program untuk mencari data nomor telepon seseorang berdasarkan input nama yang diberikan pengguna