CodeGym /Java Blog /Acak /Kelas File Java.io
John Squirrels
Level 41
San Francisco

Kelas File Java.io

Dipublikasikan di grup Acak
Dalam banyak kasus, program perlu mengakses file tertentu dalam pekerjaannya. Misalnya, data pengguna dapat direkam dalam beberapa file eksternal, dan untuk membacanya, program harus dapat bekerja dengannya — membuka, membaca data, mungkin mengedit dan menutup. Untuk keperluan tersebut, bahasa pemrograman Java memiliki Kelas Java.io.File . Pada artikel ini, kita akan mempertimbangkan jenis kelasnya dan memberikan contoh cara bekerja dengannya.

Apa itu kelas File Java

Kelas File didefinisikan dalam paket java.io dan tidak bekerja secara langsung dengan stream . Kelas File Java adalah untuk mengelola informasi tentang file dan direktori. Seperti yang Anda ketahui, pada level sistem operasi, file dan direktori adalah objek yang berbeda. Namun di Java, keduanya dijelaskan oleh kelas File yang sama . Anda mungkin bertanya-tanya mengapa tidak menggunakan string saja untuk merujuk ke file? Pertama-tama, karena akses file berbeda di sistem operasi yang berbeda.

Konstruktor kelas file

Bergantung pada apakah objek Kelas Java.io.File harus mewakili file atau direktori, kita dapat menggunakan salah satu konstruktor untuk membuat objek: File (String pathname) dalam hal ini konstruktor membuat instance File baru dengan mengonversi nama jalur yang diberikan string menjadi nama jalur abstrak. File(String myPath, String myString) konstruktor ini membuat instance File baru dari string nama jalur myPath dan string nama jalur myString. File (Induk file, Nama string) membuat instance File baru dari nama jalur abstrak file dan string nama jalur. File (URI uri) dalam hal ini konstruktor membuat instance File baru dengan mengonversi file yang diberikan: URI menjadi nama jalur abstrak. URI adalah kelas Java yang mewakili referensi Uniform Resource Identifier (URI). Berikut adalah contoh konstruktor Kelas Java.io.File yang berbeda :

import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

public class FileTest {
   public static void main(String[] args) throws URISyntaxException {
       File myFile1 = new File("d:\\MyCat");
       File myFile2 = new File ("d:\\MyCat", "cat.txt");
       File myFile3 = new File(myFile1, "cat.txt");
       URI uri = new URI ("https://docs.oracle.com/javase/7/docs/api/java/net/URI.html");
       File myFile4 = new File(uri);
   }
}

Metode Kelas File

Kelas File Java memiliki sejumlah metode yang memungkinkan Anda memanipulasi file dan direktori. Mari kita pertimbangkan beberapa di antaranya:
  • boolean createNewFile() membuat file baru di jalur yang diteruskan ke konstruktor. Mengembalikan nilai benar jika berhasil, jika tidak, salah

  • boolean delete() menghapus direktori atau file di jalur yang diteruskan ke konstruktor. Mengembalikan nilai benar jika penghapusan berhasil

  • boolean ada() memeriksa apakah file atau direktori ada di jalur yang ditentukan dalam konstruktor. Jika file atau direktori ada, kembalikan nilai benar, jika tidak, kembalikan salah

  • String getAbsolutePath() mengembalikan jalur absolut untuk jalur yang diteruskan ke konstruktor objek

  • String getName() mengembalikan nama pendek file atau direktori

  • String getParent() mengembalikan nama direktori induk

  • boolean isDirectory() mengembalikan nilai true jika jalur yang diberikan berisi direktori

  • boolean isFile() mengembalikan nilai true jika ada file di jalur yang diberikan

  • boolean isHidden() mengembalikan nilai true jika direktori atau file disembunyikan

  • long length() mengembalikan ukuran file dalam byte

  • long lastModified() mengembalikan waktu kapan file atau direktori terakhir diubah. Nilai tersebut mewakili jumlah milidetik yang telah berlalu sejak zaman Unix

  • String[] list() mengembalikan array file dan subdirektori yang berada di direktori tertentu

  • File[] listFiles() mengembalikan array file dan subdirektori yang berada di direktori tertentu

  • boolean mkdir() membuat direktori baru dan mengembalikan nilai true jika berhasil

  • boolean renameTo(File dest) mengganti nama file atau direktori

Beberapa fitur kelas File Java

  • Jalurnya, abstrak atau string, dapat bersifat absolut atau relatif. Induk dari jalur abstrak dapat diambil dengan memanggil metode getParent() kelas tersebut.

  • Pertama kita harus membuat objek dari kelas File , meneruskannya dengan nama file atau direktori. Sistem file dapat menerapkan pembatasan pada operasi tertentu pada objek sistem file sebenarnya, seperti membaca, menulis, dan mengeksekusi. Pembatasan ini disebut izin akses.

  • Contoh kelas File tidak dapat diubah. Artinya, setelah Anda membuat file, jalur abstrak yang diwakili oleh objek File tidak akan pernah berubah.

Contoh kode kelas file

Mari buat program yang bekerja dengan direktori. Pertama-tama ia harus membuat direktori di jalur yang diberikan dan kemudian membuat file baru dan memeriksa apakah file dan direktori tersebut ada.

import java.io.File;
import java.io.IOException;

public class FileTest2 {
   public static void main(String[] args) throws IOException {

       //create a directory using mkdir() File class method
       File dir = new File("d:\\MyDir");
       boolean created = dir.mkdir();
       if(created)
           System.out.println("Folder has been created...");
       else
           System.out.println("Folder hasn't been created...");
       File myFile = new File("d:\\MyDir\\cat.txt");
       myFile.createNewFile();
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if(myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");
      }
}
Inilah hasilnya:
Folder telah dibuat... Nama file: cat.txt Folder induk: d:\MyDir File ada
Omong-omong, jika Anda melakukan semuanya dengan benar, Anda dapat menemukan direktori dan file baru di komputer Anda. Sekarang mari kita menulis sebuah program di mana kita dapat bekerja dengan direktori yang dibuat dan filenya. Disini kami menggunakan beberapa cara yang sudah dijelaskan di atas.

import java.io.File;

public class FileTest3 {

   public static void main(String[] args) {

       File dir = new File("d:\\MyDir");
       File myFile = new File("d:\\MyDir\\cat.txt");
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if (myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");

       System.out.println("Absolute path: " + myFile.getAbsolutePath());

       if (myFile.exists()) {
           System.out.println("Is writable: " + myFile.canWrite());
           System.out.println("Is readable: " + myFile.canRead());
           System.out.println("Is a directory: " + myFile.isDirectory());
           System.out.println("myFile Size in bytes = " + myFile.length());

       }
   }
}
Output dari program ini adalah:
Nama file: cat.txt Folder induk: d:\MyDir File ada Jalur absolut: d:\MyDir\cat.txt Dapat ditulis: true Dapat dibaca: true Adalah direktori: false Ukuran myFile dalam byte = 0
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION