CodeGym /Java Blog /Random /Java.io.File Class
John Squirrels
Antas
San Francisco

Java.io.File Class

Nai-publish sa grupo
Sa maraming kaso, kailangang ma-access ng program ang ilang partikular na file sa trabaho nito. Halimbawa, maaaring maitala ang data ng user sa ilang panlabas na file, at upang mabasa ito, kailangang magawa ng program ito — buksan, basahin ang data, posibleng i-edit at isara. Para sa mga layuning ito, ang Java programming language ay mayroong Java.io.File Class. Sa artikulong ito, isasaalang-alang natin kung anong uri ito at magbigay ng isang halimbawa ng pagtatrabaho dito.

Ano ang klase ng Java File

Ang klase ng File ay tinukoy sa java.io package at hindi ito gumagana nang direkta sa mga stream. Ang klase ng Java File ay upang pamahalaan ang impormasyon tungkol sa mga file at direktoryo. Tulad ng alam mo, sa antas ng operating system, ang mga file at direktoryo ay magkakaibang mga bagay. Gayunpaman sa Java, pareho silang inilarawan ng parehong klase ng File . Maaaring nagtataka ka kung bakit hindi na lang gumamit ng mga string para sumangguni sa mga file? Una sa lahat, dahil ang pag-access ng file ay iba sa iba't ibang mga operating system.

Mga tagabuo ng klase ng file

Depende sa kung ang Java.io.File Class object ay dapat kumatawan sa isang file o isang direktoryo, maaari naming gamitin ang isa sa mga constructor para likhain ang object: File(String pathname) sa kasong ito, ang constructor ay gumagawa ng bagong File instance sa pamamagitan ng pag-convert ng ibinigay na pathname string sa isang abstract na pathname. File(String myPath, String myString) ang constructor na ito ay lumilikha ng bagong File instance mula sa isang myPath pathname string at isang myString pathname string. Ang File(File parent, String name) ay lumilikha ng bagong File instance mula sa isang abstract na pathname ng file at isang string ng pathname ng pangalan. File(URI uri) sa kasong ito, ang constructor ay gumagawa ng bagong File instance sa pamamagitan ng pag-convert ng ibinigay na file: URI sa isang abstract na pathname. Ang URI ay isang Java class na kumakatawan sa isang Uniform Resource Identifier (URI) reference. Narito ang isang halimbawa ng iba't ibang Java.io.File Class constructors:
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);
   }
}

Mga Paraan ng File Class

Ang klase ng Java File ay may ilang mga pamamaraan na nagbibigay-daan sa iyong manipulahin ang mga file at direktoryo. Isaalang-alang natin ang ilan sa mga ito:
  • Ang boolean createNewFile() ay lumilikha ng bagong file sa path na ipinasa sa constructor. Nagbabalik ng true kung matagumpay, kung hindi man ay mali

  • Tinatanggal ng boolean delete() ang isang direktoryo o file sa path na ipinasa sa constructor. Nagbabalik ng true sa matagumpay na pagtanggal

  • Ang boolean exists() ay sumusuri kung ang isang file o direktoryo ay umiiral sa landas na tinukoy sa constructor. Kung ang file o direktoryo ay umiiral, nagbabalik ng true, kung hindi ay nagbabalik ng false

  • Ibinabalik ng String getAbsolutePath() ang absolute path para sa path na ipinasa sa constructor ng object

  • Ibinabalik ng String getName() ang maikling pangalan ng isang file o direktoryo

  • Ibinabalik ng String getParent() ang pangalan ng direktoryo ng magulang

  • Ang boolean isDirectory() ay nagbabalik ng true kung ang ibinigay na path ay naglalaman ng isang direktoryo

  • Ang boolean isFile() ay nagbabalik ng true kung mayroong isang file sa ibinigay na landas

  • Ang boolean isHidden() ay nagbabalik ng true kung nakatago ang direktoryo o file

  • long length() ay nagbabalik ng laki ng file sa bytes

  • long lastModified() ay nagbabalik ng oras kung kailan huling binago ang isang file o direktoryo. Kinakatawan ng value ang bilang ng mga millisecond na lumipas mula noong panahon ng Unix

  • Ang String[] list() ay nagbabalik ng hanay ng mga file at subdirectory na nasa isang partikular na direktoryo

  • Ang File[] listFiles() ay nagbabalik ng hanay ng mga file at subdirectory na nasa isang partikular na direktoryo

  • Ang boolean mkdir() ay lumilikha ng bagong direktoryo at nagbabalik ng true kung matagumpay

  • Pinapalitan ng boolean renameTo(File dest) ang isang file o direktoryo

Ang ilang mga tampok ng klase ng Java File

  • Ang landas, abstract o string, ay maaaring maging ganap o kamag-anak. Ang parent ng abstract path ay maaaring makuha sa pamamagitan ng pagtawag sa getParent() method ng class na iyon.

  • Una dapat tayong lumikha ng isang bagay ng klase ng File , na ipinapasa ito sa pangalan ng isang file o direktoryo. Ang file system ay maaaring magpataw ng mga paghihigpit sa ilang mga operasyon sa aktwal na object ng file system, tulad ng pagbabasa, pagsusulat, at pagpapatupad. Ang mga paghihigpit na ito ay tinatawag na mga pahintulot sa pag-access.

  • Ang mga pagkakataon ng klase ng File ay hindi nababago. Ibig sabihin, kapag gumawa ka ng file, hindi na magbabago ang abstract path na kinakatawan ng File object.

Mga halimbawa ng code ng klase ng file

Gumawa tayo ng program na gumagana sa mga direktoryo. Una sa lahat dapat itong lumikha ng isang direktoryo sa ibinigay na landas at pagkatapos ay lumikha ng isang bagong file at suriin kung ang file at direktoryo ay umiiral.
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");
      }
}
Narito ang output:
Nagawa ang folder... Pangalan ng file: cat.txt Parent folder: d:\MyDir File ay umiiral
Sa pamamagitan ng paraan kung ginawa mo ang lahat ng tama, makakahanap ka ng isang bagong direktoryo at file sa iyong computer. Ngayon magsulat tayo ng isang programa kung saan maaari tayong magtrabaho kasama ang direktoryo na nilikha at ang file. Dito ginagamit namin ang ilan sa mga pamamaraan na inilarawan sa itaas.
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());

       }
   }
}
Ang output ng programa ay:
Pangalan ng file: cat.txt Parent folder: d:\MyDir File ay umiiral Absolute path: d:\MyDir\cat.txt Ay nasusulat: true Ay nababasa: true Ay isang direktoryo: false myFile Size sa bytes = 0
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION