Membuat Operasi Penangan File (File Handling) Java

Dalam class operasi penanganan file ini, terdapat beberapa fungsi yaitu :
- Membuat file
- Menulis teks kedalam file yang telah dibuat sebelumnya
- Membaca isi dari file yang telah dibuat sebelumnya
- Mengupdate atau mengubah isi dari file yang telah dibuat sebelumnya
- Menghapus file yang telah dibuat sebelumnya
- Menghitung jumlah kata dari isi file
- Menghitung jumlah huruf / karakter dari isi file
- Menyembunyikan file yang telah dibuat sebelumnya
- keluar dari program.
Demo Program
Untuk demo program dapat dilihat dalam video berikut :
Source Code
Untuk nama class, pada source code kali ini menggunakan nama class : operasiPenangananFile , jadi pastikan nama class dan nama file .java sama.
file : operasiPenangananFile.java
/** * @(#)operasiPenangananFile.java * * @description Program operasi penanganan file buat, tulis, baca, update, hapus, hitung kata, hitung huruf, sembunyikan file. * @author Rizal Loa Wanda (Macamateri) * @version 1.00 2015/10/18 */ import java.io.*; import java.util.*; public class operasiPenangananFile { public static void main(String[] args) throws IOException { operasiPenangananFile menu = new operasiPenangananFile(); menu.utama(); } //0. Fungsi Menu Utama public static void utama() throws IOException { Scanner input = new Scanner(System.in); operasiPenangananFile menu = new operasiPenangananFile(); System.out.println("Menu Pilihan Penanganan File :"); System.out.println("=============================="); System.out.println("1. Buat File "); System.out.println("2. Tulis File "); System.out.println("3. Baca File "); System.out.println("4. Update Isi File "); System.out.println("5. Hapus File "); System.out.println("6. Hitung Kata "); System.out.println("7. Hitung Huruf "); System.out.println("8. Sembunyikan File "); System.out.println("9. Keluar "); System.out.print("Input Pilihan Anda [1-9] = "); String n = input.nextLine(); switch (n) { case "1": { menu.buatFile(); menu.utama(); break; } case "2": { menu.tulisFile(); menu.utama(); break; } case "3": { menu.bacaFile(); menu.utama(); break; } case "4": { menu.updateIsiFile(); menu.utama(); break; } case "5": { menu.hapusFile(); menu.utama(); break; } case "6": { menu.hitungKata(); menu.utama(); break; } case "7": { menu.hitungHuruf(); menu.utama(); break; } case "8": { menu.sembunyikanFile(); menu.utama(); break; } case "9": { System.out.println("Anda Berhasil Keluar!"); break; } default: { System.out.println("Pilihan tidak tersedia, silahkan pilih lagi [1 - 9]\n"); menu.utama(); } } } //1. fungsi membuat file public void buatFile() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File Baru dan Ekstensinya = "); String namaFile = input.nextLine(); System.out.println(); File file = new File(namaFile); if (!file.exists()) { try { Formatter formatter = new Formatter(namaFile); System.out.println("File " + namaFile + " Berhasil di Buat\n"); formatter.close(); } catch (Exception err) { System.out.println("Anda Gagal Membuat File " + namaFile + "\n"); System.out.println("Error : " + err.getMessage() + "\n"); } } else { System.out.println("File Sudah Terdapat! Silahkan melakukan Baca, Ganti atau Hapus pada File " + namaFile + ".\n"); } } //2. fungsi Tulis File public void tulisFile() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File dan Ekstensinya = "); String namaFile = input.nextLine(); File file = new File(namaFile); if (file.exists()) { try { FileWriter fileWriter = new FileWriter(namaFile); System.out.print("Tuliskan isi ke dalam File = "); String isiFile = input.nextLine(); fileWriter.append((CharSequence)isiFile); fileWriter.append((CharSequence)"\n"); System.out.println(); System.out.println("File " + namaFile + " Berhasil di Tulis\n"); fileWriter.close(); } catch (Exception err) { System.out.println("Error Menulis File " + namaFile); System.out.println("Error : " + err.getMessage() + "\n"); } } else { System.out.println("File " + namaFile + " Tidak di Temukan!\n"); } } //3. fungsi Baca File public void bacaFile() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File dan Ekstensinya = "); String namaFile = input.nextLine(); System.out.println(); File file = new File(namaFile); if (file.exists()) { try { FileReader fr = new FileReader(namaFile); BufferedReader bufferedReader = new BufferedReader(fr); StringBuffer stringBuffer = new StringBuffer(); String isiFile = bufferedReader.readLine(); if (isiFile != null) { System.out.println("Proses Baca Isi File " + namaFile + " ="); } else if (isiFile == null) { System.out.println("File " + namaFile + " Kosong. Silahkan isi di Pilihan 2."); } while (isiFile != null) { stringBuffer.append(isiFile); stringBuffer.append("\n"); isiFile = bufferedReader.readLine(); } System.out.println(stringBuffer.toString()); fr.close(); } catch (Exception err) { System.out.println("Error Dalam Membaca File " + namaFile); System.out.println("Error : " + err.getMessage() + "\n"); } } else { System.out.println("File " + namaFile + " Tidak Dapat di temukan!\n"); } } //4. fungsi Update Isi File public void updateIsiFile() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File dan Ekstensi yang ingin di Update = "); String namaFile = input.nextLine(); File file = new File(namaFile); if (file.exists()) { try { FileReader fr = new FileReader(namaFile); BufferedReader bufferedReader = new BufferedReader(fr); StringBuffer stringBuffer = new StringBuffer(); String isiFile = bufferedReader.readLine(); while (isiFile != null) { stringBuffer.append(isiFile); stringBuffer.append("\n"); isiFile = bufferedReader.readLine(); } System.out.println("Isi File Sebelum Update = "); System.out.println(stringBuffer.toString()); fr.close(); FileWriter fw = new FileWriter(namaFile, true); System.out.print("Isi File Tambahan (Update) = "); String isiTambahan = input.nextLine(); fw.append((CharSequence)isiTambahan); fw.append((CharSequence)"\n"); System.out.println(); System.out.println("File " + namaFile + " Berhasil di Update!\n"); fw.close(); } catch (Exception err) { System.out.println("Error Mengupdate Isi File " + namaFile); System.out.println("Error : " + err.getMessage() + "\n"); } } else { System.out.println("File " + namaFile + " Tidak Dapat di temukan!\n"); } } //5. fungsi Hapus File public void hapusFile() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File yang ingin di Hapus = "); String namaFile = input.nextLine(); System.out.println(); File file = new File(namaFile); if (file.exists()) { try { System.out.print("Apakah Anda yakin ingin menghapus File " + namaFile + "? [Y/N] = "); String konfirmasi = input.nextLine(); if (konfirmasi.equalsIgnoreCase("y")) { file.delete(); System.out.println("File " + namaFile + " Berhasil di Hapus!\n"); } else if (konfirmasi.equalsIgnoreCase("n")) { System.out.println("File " + namaFile + " Batal di Hapus!\n"); } else{ System.out.println("Pilihan Salah. Silahkan coba lagi.\n"); } } catch (Exception err) { System.out.println("Error menghapus file " + namaFile + ""); System.out.println("Error : " + err.getMessage() + "\n"); err.printStackTrace(); } } else { System.out.println("File " + namaFile + " Tidak Dapat di temukan!\n"); } } //6. fungsi hitung kata public void hitungKata() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File dan Ekstensi yang ingin di hitung katanya = "); String namaFile = input.nextLine(); System.out.println(); File file = new File(namaFile); if (file.exists()) { try { String isiFile; FileReader fr = new FileReader(namaFile); BufferedReader bufferedReader = new BufferedReader(fr); int baris = 0; int kata = 0; while ((isiFile = bufferedReader.readLine()) != null) { String[] arrstring; ++baris; for (String isiFile2 : arrstring = isiFile.split(" ")) { ++kata; } } System.out.println("Jumlah Kata Pada Isi File " + namaFile + " Adalah = " + kata + " Kata"); System.out.println("Jumlah Baris Pada Isi File " + namaFile + " Adalah = " + baris + " Baris\n"); fr.close(); } catch (Exception err) { System.out.println("Error menghitung kata file " + namaFile); System.out.println("Error : " + err.getMessage() + "\n"); } } else { System.out.println("File " + namaFile + " Tidak Dapat di temukan!\n"); } } //7. fungsi Hitung Huruf public void hitungHuruf() throws IOException { int JUMLAH_KARAKTER = 256; int[] total_per_karakter = new int[JUMLAH_KARAKTER]; Scanner input = new Scanner(System.in); System.out.print("Input Nama File dan Ekstensi yang ingin di hitung hurufnya = "); String namaFile = input.nextLine(); File file = new File(namaFile); if (file.exists()) { try { String isiFile; String isiFile2 = ""; FileReader fr = new FileReader(namaFile); BufferedReader bufferedReader = new BufferedReader(fr); while ((isiFile = bufferedReader.readLine()) != null) { isiFile2 = isiFile2 + isiFile; } isiFile2 = isiFile2.toLowerCase(); for (int i=0; i<JUMLAH_KARAKTER; i++) { total_per_karakter[i] = 0; } int isiFile2_len = isiFile2.length(); for (int i=0; i<isiFile2_len; i++) { total_per_karakter[(int )isiFile2.charAt(i)]++; } System.out.println(); for (int i=0; i<JUMLAH_KARAKTER; i++) { if (total_per_karakter[i] > 0) { if (((char)i >= 'a' && (char)i <= 'z')) { System.out.println("Jumlah huruf " + (char) i + " ada = " + total_per_karakter[i] + " buah"); } else if ((char)i >= '0' && (char)i <= '9') { System.out.println("Jumlah angka " + (char) i + " ada = " + total_per_karakter[i] + " buah"); } else if ((char) i == ' ') { System.out.println("Jumlah Spasi ada = " + total_per_karakter[i] + " buah"); } else { System.out.println("Jumlah karakter " + (char) i + " ada = " + total_per_karakter[i] + " buah"); } } } System.out.println(); fr.close(); } catch (Exception err) { System.out.println("Error menghitung huruf file " + namaFile); System.out.println("Error : " + err.getMessage() + "\n"); } } else { System.out.println("File " + namaFile + " Tidak Dapat di temukan!\n"); } } //8. fungsi menyembunyikan file (This Is MAGIC =D ) public void sembunyikanFile() throws IOException { Scanner input = new Scanner(System.in); System.out.print("Input Nama File dan Ekstensinya yang ingin di Sembunyikan = "); String namaFile = input.nextLine(); System.out.println(); File file = new File(namaFile); if (file.exists()) { try { if(file.isHidden()){ System.out.print("File "+namaFile+" sudah tersembunyi, Unhide? [Y/N] = "); String konfirmasi = input.nextLine(); if(konfirmasi.equalsIgnoreCase("y")){ if(System.getProperty("os.name").contains("Windows")){ Process p = Runtime.getRuntime().exec("attrib -h "+namaFile); p.waitFor(); System.out.println("Berhasil menampilkan (unhide) File " +namaFile); } else{ System.out.println("Maaf untuk OS lain selain Windows belum support"); } } else { System.out.println("Batal Menammpilkan (unhide) File " +namaFile); } } else { if(System.getProperty("os.name").contains("Windows")){ Process p = Runtime.getRuntime().exec("attrib +h "+namaFile); p.waitFor(); System.out.println("Berhasil Menyembunyikan File " +namaFile); } else{ System.out.println("Maaf untuk OS lain selain Windows belum support"); } } System.out.println(); } catch (Exception err) { System.out.println("Error menyembunyikan file " + namaFile + ""); System.out.println("Error : " + err.getMessage() + "\n"); err.printStackTrace(); } } else { System.out.println("File " + namaFile + " Tidak Dapat di temukan!\n"); } } }
0 komentar :
Posting Komentar
Tinggalkan Komentar Yang Baik.