Java File-klasse is de Java-weergave van de padnaam van een bestand of map. Omdat bestands- en mapnamen op verschillende platforms verschillende formaten hebben, is een eenvoudige tekenreeks niet voldoende om ze een naam te geven. De Java File-klasse bevat verschillende methoden voor het werken met de padnaam, het verwijderen en hernoemen van bestanden, het maken van nieuwe mappen, het weergeven van de inhoud van een map en het bepalen van verschillende gemeenschappelijke kenmerken van bestanden en mappen.
- Het is een abstracte weergave van bestanden en mappadnamen.
- Een padnaam, abstract of in tekenreeksvorm, kan absoluut of relatief zijn. De ouder van een abstracte padnaam kan worden verkregen door de methode getParent() van deze klasse aan te roepen.
- Allereerst moeten we het File-klasseobject maken door de bestandsnaam of mapnaam eraan door te geven. Een bestandssysteem kan beperkingen implementeren voor bepaalde bewerkingen op het daadwerkelijke bestandssysteemobject, zoals lezen, schrijven en uitvoeren. Deze beperkingen worden gezamenlijk toegangsrechten genoemd.
- Instanties van de klasse File zijn onveranderlijk; dat wil zeggen dat de abstracte padnaam die wordt vertegenwoordigd door een File-object, zodra deze is gemaakt, nooit meer zal veranderen.
Hoe maak je een bestandsobject?
Een File-object wordt gemaakt door een tekenreeks door te geven die de naam van een bestand, een String of een ander File-object vertegenwoordigt. Bijvoorbeeld,
File a = new File('/usr/local/bin/geeks');> Dit definieert een abstracte bestandsnaam voor het geeks-bestand in de map /usr/local/bin. Dit is een absoluut abstracte bestandsnaam.
Velden in bestandsklasse in Java
| Veld Python slaat json op in een bestand | Type | Beschrijving |
|---|---|---|
| padSeperator | Snaar | het teken of de tekenreeks die wordt gebruikt om individuele paden in een lijst met bestandssysteempaden te scheiden. |
| padSeperatorChar | Char | het teken dat wordt gebruikt om individuele paden in een lijst met bestandssysteempaden te scheiden. |
| scheidingsteken | Snaar | standaard naamscheidingsteken weergegeven als een tekenreeks. |
| scheidingstekenChar | Char | standaard naamscheidingsteken. |
Constructeurs van Java-bestandsklasse
- File(File parent, String child): Maakt een nieuwe bestandsinstantie op basis van een bovenliggende abstracte padnaam en een onderliggende padnaamreeks. Bestand (String padnaam): Creëert een nieuwe bestandsinstantie door de gegeven padnaamreeks om te zetten in een abstracte padnaam. File(String parent, String child): Maakt een nieuwe bestandsinstantie op basis van een bovenliggende padnaamreeks en een onderliggende padnaamreeks. Bestand (URI uri): Creëert een nieuwe bestandsinstantie door het gegeven bestand te converteren: URI naar een abstracte padnaam.
Methoden van bestandsklasse in Java
| Ja nee. | Methode | Beschrijving | Retourtype |
|---|---|---|---|
| 1. | kanUitvoeren() | Test of de toepassing het bestand kan uitvoeren dat wordt aangegeven met deze abstracte padnaam. | Booleaans |
| 2. | kunnen lezen() | Test of de toepassing het bestand kan lezen dat wordt aangegeven met deze abstracte padnaam. | Booleaans |
| 3. | kan schrijven() | Test of de toepassing het bestand dat met deze abstracte padnaam wordt aangegeven, kan wijzigen. | Booleaans |
| 4. | vergelijkTo(Bestandspadnaam) | Vergelijkt twee abstracte padnamen lexicografisch. | int |
| 5. | maakNieuwBestand() | Creëert atomair een nieuw, leeg bestand met de naam deze abstracte padnaam. | Booleaans |
| 6. | createTempFile(String-voorvoegsel, String-achtervoegsel) | Creëert een leeg bestand in de standaardmap voor tijdelijke bestanden. | Bestand |
| 7. | verwijderen() | Verwijdert het bestand of de map die wordt aangegeven met deze abstracte padnaam. | Booleaans |
| 8. | is gelijk aan(Objectobject) | Test deze abstracte padnaam op gelijkheid met het opgegeven object. | Booleaans |
| 9. | bestaat() | Test of het bestand of de map die wordt aangegeven met deze abstracte padnaam bestaat. | Booleaans |
| 10. | getAbsolutePath() | Retourneert de absolute padnaamtekenreeks van deze abstracte padnaam. | Snaar |
| elf. | lijst() | Retourneert een array van tekenreeksen die de bestanden en mappen in de map een naam geven. | Snaar[] |
| 12. | getFreeSpace() | Retourneert het aantal niet-toegewezen bytes in de partitie. | lang |
| 13. | getName() | Retourneert de naam van het bestand of de map die wordt aangegeven door deze abstracte padnaam. | Snaar |
| 14. | getParent() | Retourneert de padnaamtekenreeks van het bovenliggende element van deze abstracte padnaam. | Snaar |
| vijftien. | getParentFile() | Retourneert de abstracte padnaam van de ouder van deze abstracte padnaam. | Bestand |
| 16. | getPath() | Converteert deze abstracte padnaam naar een padnaamtekenreeks. | Snaar |
| 17. | setReadOnly() | Markeert het bestand of de map met de naam zodat alleen leesbewerkingen zijn toegestaan. | Booleaans |
| 18. | isDirectory() | Test of het bestand dat met deze padnaam wordt aangegeven een map is. | Booleaans |
| 19. | isBestand() | Test of het bestand dat wordt aangeduid met deze abstracte padnaam een normaal bestand is. | Booleaans |
| twintig. | is verborgen() | Test of het bestand met de naam deze abstracte padnaam een verborgen bestand is. | Booleaans |
| eenentwintig. | lengte() | Retourneert de lengte van het bestand dat wordt aangegeven door deze abstracte padnaam. | lang |
| 22. | lijstBestanden() | Retourneert een reeks abstracte padnamen die de bestanden in de map aanduiden. | Bestand[] |
| 23. | mkdir() | Creëert de map met de naam deze abstracte padnaam. | Booleaans |
| 24. | renameTo(bestandsbestemming) | Hernoemt het bestand dat wordt aangeduid met deze abstracte padnaam. | Booleaans |
| 25. | setExecutable(booleaans uitvoerbaar bestand) | Een gemakkelijke methode om de uitvoeringsrechten van de eigenaar in te stellen. | Booleaans |
| 26. | setReadable(booleaans leesbaar) | Een gemakkelijke methode om de leesrechten van de eigenaar in te stellen. | Booleaans |
| 27. | setReadable(Boolean leesbaar, Booleaanse eigenaarOnly) | Stelt de leesrechten van de eigenaar of iedereen in. | Booleaans |
| 28. | setWritable(booleaans beschrijfbaar) | Een gemakkelijke methode om de schrijfrechten van de eigenaar in te stellen. | Booleaans |
| 29. | toString() | Retourneert de padnaamtekenreeks van deze abstracte padnaam. | Snaar |
| 30. | toURI() | Construeert een bestands-URI die deze abstracte padnaam vertegenwoordigt. | TYPE |
Voorbeelden van Java-bestandsklassen
Voorbeeld 1: Programma om te controleren of een bestand of map fysiek bestaat of niet.
Java
Java-kaarten
// 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());> >}> >}> }> |
>
npm schone cache
>
Uitvoer
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>
Voorbeeld 2: Programma om de volledige inhoud van een map weer te geven
Hier accepteren we een mapnaam van het toetsenbord en geven we vervolgens de volledige inhoud van de map weer. Voor dit doel kan de methode list() worden gebruikt als:
String arr[]=f.list();>
In de voorgaande instructie zorgt de methode list() ervoor dat alle directory-items naar de array worden gekopieerd arr[] . Geef vervolgens deze array-elementen arr[i] door aan het File-object en test ze om te weten of ze een bestand of map vertegenwoordigen.
Java
np.betekenen
// 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'); } }> |
>
>
Uitvoer
dubbel in Java
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>
Verwant bericht: FileReader en FileWriter in Java