Java.io.File Class i Java

Java-filklassen er Javas representasjon av en fil- eller katalogbane. Fordi fil- og katalognavn har forskjellige formater på forskjellige plattformer, er en enkel streng ikke tilstrekkelig til å navngi dem. Java-filklassen inneholder flere metoder for å jobbe med banenavnet, slette og gi nytt navn til filer, lage nye kataloger, liste innholdet i en katalog og bestemme flere vanlige attributter for filer og kataloger.

  • Det er en abstrakt representasjon av filer og katalogstinavn.
  • Et banenavn, enten det er abstrakt eller i strengform, kan enten være absolutt eller relativt. Forelderen til et abstrakt banenavn kan fås ved å påkalle getParent()-metoden for denne klassen.
  • Først av alt bør vi lage File-klasseobjektet ved å sende filnavnet eller katalognavnet til det. Et filsystem kan implementere begrensninger for visse operasjoner på det faktiske filsystemobjektet, for eksempel lesing, skriving og utførelse. Disse begrensningene er samlet kjent som tilgangstillatelser.
  • Forekomster av File-klassen er uforanderlige; det vil si at når det er opprettet, vil det abstrakte banenavnet representert av et filobjekt aldri endres.

Hvordan lage et filobjekt?

Et filobjekt opprettes ved å sende inn en streng som representerer navnet på en fil, en streng eller et annet filobjekt. For eksempel,

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

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

Felt i filklassen i Java

Felt

Type

Beskrivelse

pathSeperator String tegnet eller strengen som brukes til å skille individuelle stier i en liste over filsystembaner.
pathSeperatorChar Char tegnet som brukes til å skille individuelle stier i en liste over filsystembaner.
separator String standard navneskilletegn representert som en streng.
separatorChar Char standard navneskilletegn.

Konstruktører av Java File Class

    Fil (Fil overordnet, String child): Oppretter en ny filforekomst fra et overordnet abstrakt banenavn og en underordnet banenavnstreng. File(String pathname): Oppretter en ny filforekomst ved å konvertere den gitte banenavnstrengen til et abstrakt banenavn. File(String parent, String child): Oppretter en ny filforekomst fra en overordnet banenavnstreng og en underordnet banenavnstreng. File(URI uri): Oppretter en ny filforekomst ved å konvertere den gitte filen: URI til et abstrakt banenavn.

Metoder av filklassen i Java

Ja Nei. Metode Beskrivelse Returtype
1. canExecute() Tester om applikasjonen kan kjøre filen merket med dette abstrakte banenavnet. boolsk
2. kan lese() Tester om applikasjonen kan lese filen merket med dette abstrakte banenavnet. boolsk
3. canWrite() Tester om applikasjonen kan endre filen merket med dette abstrakte banenavnet. boolsk
4. compareTo (filbanenavn) Sammenligner to abstrakte stinavn leksikografisk. int
5. oppretteNyFil() Atomically oppretter en ny, tom fil navngitt med dette abstrakte banenavnet. boolsk
6. createTempFile(strengprefiks, strengsuffiks) Oppretter en tom fil i standard katalogen for midlertidige filer. Fil
7. slett() Sletter filen eller katalogen merket med dette abstrakte banenavnet. boolsk
8. lik (Objekt objekt) Tester dette abstrakte banenavnet for likhet med det gitte objektet. boolsk
9. finnes() Tester om filen eller katalogen som er angitt med dette abstrakte banenavnet eksisterer. boolsk
10. getAbsolutePath() Returnerer den absolutte banenavnstrengen til dette abstrakte banenavnet. String
elleve. liste() Returnerer en rekke strenger som navngir filene og katalogene i katalogen. String[]
12. getFreeSpace() Returnerer antall ikke-allokerte byte i partisjonen. lang
1. 3. getName() Returnerer navnet på filen eller katalogen angitt med dette abstrakte banenavnet. String
14. getParent() Returnerer stinavnstrengen til dette abstrakte banenavnets overordnede. String
femten. getParentFile() Returnerer det abstrakte banenavnet til dette abstrakte banenavnets overordnede. Fil
16. getPath() Konverterer dette abstrakte banenavnet til en banenavnstreng. String
17. setReadOnly() Merker filen eller katalogen navngitt slik at bare leseoperasjoner er tillatt. boolsk
18. isDirectory() Tester om filen angitt med dette banenavnet er en katalog. boolsk
19. isFile() Tester om filen angitt med dette abstrakte banenavnet er en normal fil. boolsk
tjue. erskjult() Tester om filen som er navngitt av dette abstrakte banenavnet er en skjult fil. boolsk
tjueen. lengde() Returnerer lengden på filen angitt av dette abstrakte banenavnet. lang
22. listFiles() Returnerer en rekke abstrakte banenavn som angir filene i katalogen. Fil[]
23. mkdir() Oppretter katalogen navngitt av dette abstrakte banenavnet. boolsk
24. renameTo (File dest) Gi nytt navn til filen merket med dette abstrakte banenavnet. boolsk
25. setExecutable(boolsk kjørbar) En praktisk metode for å angi eierens utførelsestillatelse. boolsk
26. setReadable(boolesk lesbar) En praktisk metode for å angi eierens lesetillatelse. boolsk
27. setReadable(boolesk lesbar, boolesk eierkun) Angir eierens eller alles lesetillatelse. boolsk
28. setWritable(boolsk skrivbar) En praktisk metode for å angi eierens skrivetillatelse. boolsk
29. toString() Returnerer stinavnstrengen til dette abstrakte banenavnet. String
30. toURI() Konstruerer en fil-URI som representerer dette abstrakte banenavnet. TYPE

Eksempler på Java-filklasse

Eksempel 1: Program for å sjekke om en fil eller katalog fysisk eksisterer eller ikke.

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());> > }> > }> }>

Produksjon

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 for å vise alt innholdet i en katalog

Her vil vi godta et katalognavn fra tastaturet og deretter vise alt innholdet i katalogen. Til dette formål kan list()-metoden brukes som:

String arr[]=f.list(); 

I den foregående setningen forårsaker list()-metoden at alle katalogoppføringene kopieres inn i matrisen arr[] . Send deretter disse array-elementene arr[i] til File-objektet og test dem for å vite om de representerer en fil eller katalog.

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'); } }>

Produksjon

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 

Relatert innlegg: FileReader og FileWriter i Java