Java.io.File Class i Java

Java-filklassen er Javas repræsentation af en fil- eller mappestinavn. Fordi fil- og mappenavne har forskellige formater på forskellige platforme, er en simpel streng ikke tilstrækkelig til at navngive dem. Java-filklassen indeholder flere metoder til at arbejde med stinavnet, slette og omdøbe filer, oprette nye mapper, liste indholdet af en mappe og bestemme flere almindelige attributter for filer og mapper.

  • Det er en abstrakt repræsentation af filer og mappestinavne.
  • Et stinavn, uanset om det er abstrakt eller i strengform, kan enten være absolut eller relativt. Forælderen til et abstrakt stinavn kan fås ved at påkalde getParent()-metoden for denne klasse.
  • Først og fremmest bør vi oprette klassen File-objektet ved at sende filnavnet eller mappenavnet til det. Et filsystem kan implementere begrænsninger for visse operationer på det faktiske filsystemobjekt, såsom læsning, skrivning og eksekvering. Disse begrænsninger er samlet kendt som adgangstilladelser.
  • Forekomster af klassen File er uforanderlige; det vil sige, når det er oprettet, vil det abstrakte stinavn, der repræsenteres af et File-objekt, aldrig ændre sig.

Hvordan opretter man et filobjekt?

Et filobjekt oprettes ved at indsætte en streng, der repræsenterer navnet på en fil, en streng eller et andet filobjekt. For eksempel,

File a = new File('/usr/local/bin/geeks'); 

Dette definerer et abstrakt filnavn for geeks-filen i mappen /usr/local/bin. Dette er et absolut abstrakt filnavn.

Felter i filklassen i Java

Mark

Type

Beskrivelse

stiSeperator Snor tegnet eller strengen, der bruges til at adskille individuelle stier i en liste over filsystemstier.
pathSeperatorChar Char tegnet, der bruges til at adskille individuelle stier i en liste over filsystemstier.
separator Snor standardnavneskilletegn repræsenteret som en streng.
separatorChar Char standardnavneskilletegn.

Konstruktører af Java File Class

    Fil(Fil overordnet, Streng underordnet): Opretter en ny filforekomst fra et overordnet abstrakt stinavn og en underordnet stinavnstreng. Fil(strengstinavn): Opretter en ny filforekomst ved at konvertere den givne stinavnstreng til et abstrakt stinavn. Fil(String parent, String child): Opretter en ny filforekomst fra en overordnet stinavnstreng og en underordnet stinavnstreng. Fil(URI uri): Opretter en ny filinstans ved at konvertere den givne fil: URI til et abstrakt stinavn.

Metoder af filklassen i Java

Ja Nej. Metode Beskrivelse Returtype
1. canExecute() Tester, om applikationen kan udføre filen, der er angivet med dette abstrakte stinavn. boolesk
2. kan læse() Tester, om applikationen kan læse filen, der er angivet med dette abstrakte stinavn. boolesk
3. canWrite() Tester, om applikationen kan ændre filen, der er angivet med dette abstrakte stinavn. boolesk
4. compareTo (filstinavn) Sammenligner to abstrakte stinavne leksikografisk. int
5. opretteNyFil() Atomically opretter en ny, tom fil navngivet af dette abstrakte stinavn. boolesk
6. createTempFile(String-præfiks, String-suffiks) Opretter en tom fil i standardbiblioteket for midlertidige filer. Fil
7. slet() Sletter filen eller mappen, der er angivet med dette abstrakte stinavn. boolesk
8. er lig med (Objekt obj) Tester dette abstrakte stinavn for lighed med det givne objekt. boolesk
9. eksisterer() Tester, om filen eller mappen, der er angivet med dette abstrakte stinavn, eksisterer. boolesk
10. getAbsolutePath() Returnerer den absolutte stinavnstreng for dette abstrakte stinavn. Snor
elleve. liste() Returnerer en række strenge, der navngiver filerne og mapperne i mappen. Snor[]
12. getFreeSpace() Returnerer antallet af ikke-allokerede bytes i partitionen. lang
13. getName() Returnerer navnet på filen eller mappen angivet med dette abstrakte stinavn. Snor
14. getParent() Returnerer stinavnstrengen for dette abstrakte stinavns overordnede. Snor
femten. getParentFile() Returnerer det abstrakte stinavn for dette abstrakte stinavns overordnede. Fil
16. getPath() Konverterer dette abstrakte stinavn til en stinavnstreng. Snor
17. setReadOnly() Markerer filen eller mappen navngivet, så kun læsehandlinger er tilladt. boolesk
18. isDirectory() Tester, om filen, der er angivet med dette stinavn, er en mappe. boolesk
19. isFile() Tester, om filen, der er angivet med dette abstrakte stinavn, er en normal fil. boolesk
tyve. erskjult() Tester, om filen navngivet af dette abstrakte stinavn er en skjult fil. boolesk
enogtyve. længde() Returnerer længden af ​​filen angivet med dette abstrakte stinavn. lang
22. listeFiler() Returnerer en række abstrakte stinavne, der angiver filerne i mappen. Fil[]
23. mkdir() Opretter biblioteket navngivet af dette abstrakte stinavn. boolesk
24. renameTo (Fil dest) Omdøber filen, der er angivet med dette abstrakte stinavn. boolesk
25. setExecutable(boolesk eksekverbar) En bekvem metode til at indstille ejerens udførelsestilladelse. boolesk
26. setReadable(boolean readable) En bekvem metode til at indstille ejerens læsetilladelse. boolesk
27. setReadable(boolesk læsbar, boolesk ejerKun) Indstiller ejerens eller alles læsetilladelse. boolesk
28. setWritable(boolesk skrivbar) En bekvem metode til at indstille ejerens skrivetilladelse. boolesk
29. toString() Returnerer stinavnstrengen for dette abstrakte stinavn. Snor
30. toURI() Konstruerer en fil-URI, der repræsenterer dette abstrakte stinavn. TYPE

Eksempler på Java-filklasse

Eksempel 1: Program til at kontrollere, om en fil eller et bibliotek findes fysisk eller ej.

Java




// In this Java program, we accepts a file or directory name> // from command line arguments. Then the program will check> // if that file or directory physically exist or not and it> // displays the property of that file or directory.> import> java.io.File;> // Displaying file property> class> fileProperty {> > public> static> void> main(String[] args)> > {> > // accept file name or directory name through> > // command line args> > String fname = args[> 0> ];> > // pass the filename or directory name to File> > // object> > File f => new> File(fname);> > // apply File class methods on File object> > System.out.println(> 'File name :'> + f.getName());> > System.out.println(> 'Path: '> + f.getPath());> > System.out.println(> 'Absolute path:'> > + f.getAbsolutePath());> > System.out.println(> 'Parent:'> + f.getParent());> > System.out.println(> 'Exists :'> + f.exists());> > if> (f.exists()) {> > System.out.println(> 'Is writable:'> > + f.canWrite());> > System.out.println(> 'Is readable'> + f.canRead());> > System.out.println(> 'Is a directory:'> > + f.isDirectory());> > System.out.println(> 'File Size in bytes '> > + f.length());> > }> > }> }>

Produktion

File name :file.txt Path: file.txt Absolute path:C:UsersakkiIdeaProjectscodewritingsrcfile.txt Parent:null Exists :true Is writable:true Is readabletrue Is a directory:false File Size in bytes 20 

Eksempel 2: Program til at vise alt indholdet af en mappe

Her accepterer vi et mappenavn fra tastaturet og viser derefter alt indholdet af mappen. Til dette formål kan list()-metoden bruges som:

String arr[]=f.list(); 

I den foregående sætning forårsager list()-metoden, at alle mappeposter kopieres ind i arrayet arr[] . Send derefter disse array-elementer arr[i] til File-objektet og test dem for at vide, om de repræsenterer en fil eller et bibliotek.

Java




// Java Program to display all> // the contents of a directory> import> java.io.BufferedReader;> import> java.io.File;> import> java.io.IOException;> import> java.io.InputStreamReader;> // Displaying the contents of a directory> class> Contents {> > public> static> void> main(String[] args)> > throws> IOException> > {> > // enter the path and dirname from keyboard> > BufferedReader br => new> BufferedReader(> > new> InputStreamReader(System.in));> > System.out.println(> 'Enter dirpath:'> );> > String dirpath = br.readLine();> > System.out.println(> 'Enter the dirname'> );> > String dname = br.readLine();> > // create File object with dirpath and dname> > File f => new> File(dirpath, dname);> > // if directory exists,then> > if> (f.exists()) {> > // get the contents into arr[]> > // now arr[i] represent either a File or> > // Directory> > String arr[] = f.list();> > // find no. of entries in the directory> > int> n = arr.length;> > // displaying the entries> > for> (> int> i => 0> ; i System.out.println(arr[i]); // create File object with the entry and // test if it is a file or directory File f1 = new File(arr[i]); if (f1.isFile()) System.out.println(': is a file'); if (f1.isDirectory()) System.out.println(': is a directory'); } System.out.println( 'No of entries in this directory ' + n); } else System.out.println('Directory not found'); } }>

Produktion

Enter dirpath: C:UsersakkiIdeaProjects Enter the dirname codewriting .idea : is a directory an1.txt : is a file codewriting.iml : is a file file.txt : is a file out : is a directory src : is a directory text : is a file No of entries in this directory 7 

Relateret indlæg: FileReader og FileWriter i Java