photo 20130520_005580x326_zpsfdfff919.jpg'/>

IT At Pangandaran

................................

 photo IMG_3952580x340_zps7b85d974.jpg

IT

 photo IMG_7097580x330_zps9638f590.jpg

IT

 photo 1545296602561580x315_zps4f4f6ab2.jpg

IT

 photo 1097270_3377218726959_2009822728_o580x340_zps7cf1b16b.jpg

IT farewell

Friday 28 February 2014

Nama File, Direktori, dan Kelas File

Topik tentang nama file sebenarnya lebih kompleks daripada yang telah kita bahas. Untuk menunjuk pada sebuah file, kita harus memberikan bukan hanya nama file, tapi juga nama direktori di mana file tersebut disimpan. Nama file sederhana seperti "data.dat" atau "hasil.dat" diambil dengan mengacu pada direktori sekarang (current directory, atau juga disebut direktori kerja). Pada program di bagian sebelumnya, hasil.dat disimpan pada direktori yang sama dengan direktori utama pada proyek balikfile.
File yang tidak diletakkan pada direktori kerja harus diberikan nama "path", atau nama lengkap termasuk nama direktorinya. Untuk memperjelas lagi, ada dua jenis nama path, yaitu nama path absolut dan nama path relatif. Nama path absolut memiliki informasi lengkap dari akar direktorinya, misalnya "C:\workspace\balikfile\data.dat". Sedangkan nama path relatif adalah nama file yang dihitung mulai dari direktori aktifnya.
Sayangnya, sintaks untuk nama path dan file bervariasi dari satu sistem ke sistem lain. Misalnya "
  • data.dat -- pada komputer apapun, yaitu file data.dat pada direktori aktif.
  • /home/lyracc/java/contoh/data.dat -- Nama path absolut pada sistem operasi LINUX atau UNIX. Mengacu pada file bernama data.dat di direktori yang ditunjuk.
  • C:\lyracc\java\contoh\data.dat -- Nama path absolut pada DOS atau Windows
  • Hard Drive:java:contoh:data.dat -- Misalnya "Hard Drive" adalah nama dari drivenya, maka ini adalah nama path absolut pada Macintosh OS 9
  • contoh/data.dat -- nama path relatif pada LINUX atau UNIX. "contoh" adalah nama direktori yang terdapat pada direktori aktif, dan data.dat adalah file dalam direktori tersebut. Pada Windows, nama path relatifnya menjadi contoh\data.dat dan pada Macintosh menjadi contoh:data.dat.
Untuk mencegah berbagai masalah yang mungkin muncul karena beragam sistem ini, Java memiliki kelas bernama java.io.File. Objek bertipe kelas ini melambangkan suatu file. Lebih tepatnya, objek bertipe File melambangkan nama file, bukan file itu sendiri. Nama yang ditunjuk belum tentu ada. Direktori juga dianggap Java sebagai File, sehingga File juga melambangkan nama direktori sekaligus nama file.
Objek File memiliki konstruktor new File(String) yang akan membuat objek File dari namanya. Nama tersebut bisa nama sederhana, nama path relatif, atau nama path absolut. Misalnya new File("data.dat") membuat objek File dari file bernama data.dat di direktori aktif.
Konstruktor lain memiliki konstruktor new File(File,String), di mana parameter pertama adalah direktori di mana file tersebut berada, dan parameter kedua adalah nama filenya.
Objek File memiliki beberapa metode instansi. Misalnya file adalah variabel bertipe File, berikut ini adalah beberapa metodenya :
  • file.exists() -- mengembalikan nilai boolean, yang jika true maka file tersebut ada. Kita bisa menggunakan perintah ini misalnya untuk mencegah menulis file yang sama ketika kita membuka objek FileWriter baru.
  • file.isDirectory() -- mengembalikan nilai boolean yang mengembalikan true jika objek File adalah suatu direktori, dan false jika File adalah file biasa, atau tidak ada file dengan nama tersebut.
  • file.delete() -- menghapus file jika ada
  • file.list() -- jika objek File adalah suatu direktori, maka fungsi ini mengembalikan array bertipe String[] yang berisi nama-nama file pada direktori tersebut. Jika tidak, maka kembaliannya adalah null.
Berikut ini adalah contoh program yang menulis isi file di dalam direktori yang diinput dari user :
package daftardirektori;
 
import java.io.*;
 
public class DaftarDirektori {
 
    /* Program ini mengembalikan isi suatu direktori
     * User memasukkan direktori yang ingin dilihat
     * Jika direktori tidak ada, maka pesan kesalahan
     * akan ditulis dan program akan berhenti
     */
 
     public static void main(String[] args) {
 
        String namaDirektori = null;  // Nama direktori dari user
        File direktori;        // objek File yang mengacu pada direktori
        String[] isiFile;      // Array berisi file pada direktori
 
        // buat objek baru untuk mengambil input
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        System.out.print("Masukkan nama direktori : ");
        try {
            namaDirektori = br.readLine();
        } catch(IOException ioe) {
            System.out.println("Kesalahan IO terjadi");
            System.exit(1);
        }
 
        direktori = new File(namaDirektori);
 
        if (direktori.isDirectory() == false) {
            if (direktori.exists() == false)
                System.out.println("Tidak ada direktori ini!");
            else
                System.out.println("Ini bukan direktori.");
        }
        else {
            isiFile = direktori.list();
            System.out.println("Files dalam direktori \"" + direktori + "\":");
            for (int i = 0; i < isiFile.length; i++)
                System.out.println("   " + isiFile[i]);
        }
 
    }
 
}
  
Berikut ini adalah program lengkapnya yang bisa diimport ke dalam Eclipse.
pertama kita membuat classnya dengan nama :
 

Lalu mengetikkan source codenya :


Outputnya / hasil setelah di compile :





Percobaan outputnya jika di windows menggunakan Netbeans :

Semua kelas yang digunakan untuk memaca dan menulis data dari dan ke dalam file memiliki konstruktor yang bisa mengambil objek File sebagai parameternya. Misalnya, jika file adalah variabel bertipe File, dan kita ingin mengambil karakter dari file tersebut, maka kita bisa membuat FileReader untuk melakukannya dengan menggunakan new FileReader(file).

Sumber :http://java.lyracc.com/belajar/java-untuk-pemula/nama-file-direktori-dan-kelas-file

Twitter Delicious Facebook Digg Stumbleupon Favorites More