CodeGym /Blog Java /rawak /Kelas Fail Java.io
John Squirrels
Tahap
San Francisco

Kelas Fail Java.io

Diterbitkan dalam kumpulan
Dalam banyak kes, program perlu mengakses fail tertentu dalam kerjanya. Sebagai contoh, data pengguna boleh direkodkan dalam beberapa fail luaran, dan untuk membacanya, program perlu dapat berfungsi dengannya — buka, baca data, mungkin edit dan tutup. Untuk tujuan ini, bahasa pengaturcaraan Java mempunyai Kelas Java.io.File . Dalam artikel ini, kami akan mempertimbangkan jenis kelas itu dan memberikan contoh bekerja dengannya.

Apakah kelas Fail Java

Kelas Fail ditakrifkan dalam pakej java.io dan ia tidak berfungsi secara langsung dengan strim. Kelas Java File adalah untuk mengurus maklumat tentang fail dan direktori. Seperti yang anda ketahui, pada peringkat sistem pengendalian, fail dan direktori adalah objek yang berbeza. Walau bagaimanapun dalam Java, kedua-duanya diterangkan oleh kelas Fail yang sama . Anda mungkin tertanya-tanya mengapa tidak hanya menggunakan rentetan untuk merujuk kepada fail? Pertama sekali, kerana akses fail adalah berbeza dalam sistem pengendalian yang berbeza.

Pembina kelas fail

Bergantung pada sama ada objek Kelas Java.io.File harus mewakili fail atau direktori, kita boleh menggunakan salah satu daripada pembina untuk mencipta objek: Fail(String nama laluan) dalam kes ini pembina mencipta contoh Fail baharu dengan menukar nama laluan yang diberikan rentetan ke dalam nama laluan abstrak. Fail(String myPath, String myString) pembina ini mencipta contoh Fail baharu daripada rentetan nama laluan myPath dan rentetan nama laluan myString. Fail(Induk fail, nama String) mencipta contoh Fail baharu daripada nama laluan abstrak fail dan rentetan nama laluan nama. Fail(URI uri) dalam kes ini pembina mencipta contoh Fail baharu dengan menukar fail yang diberikan: URI kepada nama laluan abstrak. URI ialah kelas Java yang mewakili rujukan Uniform Resource Identifier (URI). Berikut ialah contoh pembina Kelas Java.io.File yang berbeza :
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);
   }
}

Kaedah Kelas Fail

Kelas Fail Java mempunyai beberapa kaedah yang membolehkan anda memanipulasi fail dan direktori. Mari kita pertimbangkan beberapa daripada mereka:
  • boolean createNewFile() mencipta fail baharu pada laluan yang dihantar kepada pembina. Mengembalikan benar jika berjaya, sebaliknya palsu

  • boolean delete() memadamkan direktori atau fail dalam laluan yang dihantar kepada pembina. Mengembalikan benar pada pemadaman yang berjaya

  • boolean exists() menyemak sama ada fail atau direktori wujud pada laluan yang ditentukan dalam pembina. Jika fail atau direktori wujud, mengembalikan benar, jika tidak mengembalikan palsu

  • String getAbsolutePath() mengembalikan laluan mutlak untuk laluan yang dihantar kepada pembina objek

  • String getName() mengembalikan nama pendek fail atau direktori

  • String getParent() mengembalikan nama direktori induk

  • boolean isDirectory() mengembalikan benar jika laluan yang diberikan mengandungi direktori

  • boolean isFile() mengembalikan benar jika terdapat fail pada laluan yang diberikan

  • boolean isHidden() mengembalikan benar jika direktori atau fail disembunyikan

  • long length() mengembalikan saiz fail dalam bait

  • long lastModified() mengembalikan masa apabila fail atau direktori kali terakhir diubah suai. Nilai mewakili bilangan milisaat yang telah berlalu sejak zaman Unix

  • String[] list() mengembalikan tatasusunan fail dan subdirektori yang berada dalam direktori tertentu

  • File[] listFiles() mengembalikan tatasusunan fail dan subdirektori yang berada dalam direktori tertentu

  • boolean mkdir() mencipta direktori baharu dan mengembalikan true jika berjaya

  • boolean renameTo(File dest) menamakan semula fail atau direktori

Beberapa ciri kelas Fail Java

  • Laluan, abstrak atau rentetan, boleh sama ada mutlak atau relatif. Induk laluan abstrak boleh diambil dengan memanggil kaedah getParent() kelas itu.

  • Mula-mula kita harus mencipta objek kelas Fail , memberikannya nama fail atau direktori. Sistem fail boleh mengenakan sekatan ke atas operasi tertentu pada objek sistem fail sebenar, seperti membaca, menulis dan melaksanakan. Sekatan ini dipanggil kebenaran akses.

  • Contoh kelas Fail tidak boleh diubah. Ini bermakna, sebaik sahaja anda mencipta fail, laluan abstrak yang diwakili oleh objek Fail tidak akan berubah.

Contoh kod kelas fail

Mari buat program yang berfungsi dengan direktori. Pertama sekali ia harus membuat direktori pada laluan yang diberikan dan kemudian mencipta fail baharu dan semak sama ada fail dan direktori itu wujud.
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");
      }
}
Berikut adalah outputnya:
Folder telah dibuat... Nama fail: cat.txt Folder induk: d:\MyDir File wujud
Dengan cara ini jika anda melakukan semuanya dengan betul, anda boleh mencari direktori dan fail baharu di komputer anda. Sekarang mari kita tulis program di mana kita boleh bekerja dengan direktori yang dibuat dan fail. Di sini kami menggunakan beberapa kaedah yang diterangkan 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 program ialah:
Nama fail: cat.txt Folder induk: d:\MyDir File wujud Laluan mutlak: d:\MyDir\cat.txt Boleh ditulis: benar Boleh dibaca: benar Adakah direktori: palsu myFile Saiz dalam bait = 0
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION