logo

Java.io.File-klasse in Java

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