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