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 "
Objek
Konstruktor lain memiliki konstruktor
Objek
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
Sumber :http://java.lyracc.com/belajar/java-untuk-pemula/nama-file-direktori-dan-kelas-file
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.
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 objekFileWriter
baru.file.isDirectory()
-- mengembalikan nilai boolean yang mengembalikan true jika objekFile
adalah suatu direktori, dan false jikaFile
adalah file biasa, atau tidak ada file dengan nama tersebut.file.delete()
-- menghapus file jika adafile.list()
-- jika objekFile
adalah suatu direktori, maka fungsi ini mengembalikan array bertipe String[] yang berisi nama-nama file pada direktori tersebut. Jika tidak, maka kembaliannya adalah null.
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]); } } }
pertama kita membuat classnya dengan nama :
Lalu mengetikkan source codenya :
Outputnya / hasil setelah di compile :
Percobaan outputnya jika di windows menggunakan Netbeans :
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