logo

Java.io.File-Klasse in Java

Die Java-Dateiklasse ist Javas Darstellung eines Datei- oder Verzeichnispfadnamens. Da Datei- und Verzeichnisnamen auf verschiedenen Plattformen unterschiedliche Formate haben, reicht eine einfache Zeichenfolge zur Benennung nicht aus. Die Java-Dateiklasse enthält mehrere Methoden zum Arbeiten mit dem Pfadnamen, zum Löschen und Umbenennen von Dateien, zum Erstellen neuer Verzeichnisse, zum Auflisten des Inhalts eines Verzeichnisses und zum Bestimmen mehrerer gemeinsamer Attribute von Dateien und Verzeichnissen.

  • Es handelt sich um eine abstrakte Darstellung von Dateien und Verzeichnispfadnamen.
  • Ein Pfadname, ob abstrakt oder in Stringform, kann entweder absolut oder relativ sein. Das übergeordnete Element eines abstrakten Pfadnamens kann durch Aufrufen der Methode getParent() dieser Klasse ermittelt werden.
  • Zunächst sollten wir das Dateiklassenobjekt erstellen, indem wir ihm den Dateinamen oder Verzeichnisnamen übergeben. Ein Dateisystem kann Einschränkungen für bestimmte Vorgänge am eigentlichen Dateisystemobjekt implementieren, z. B. Lesen, Schreiben und Ausführen. Diese Einschränkungen werden zusammenfassend als Zugriffsberechtigungen bezeichnet.
  • Instanzen der File-Klasse sind unveränderlich; Das heißt, dass sich der abstrakte Pfadname, der durch ein File-Objekt dargestellt wird, nach der Erstellung nie ändert.

Wie erstelle ich ein Dateiobjekt?

Ein File-Objekt wird erstellt, indem eine Zeichenfolge übergeben wird, die den Namen einer Datei, eines Strings oder eines anderen File-Objekts darstellt. Zum Beispiel,

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

Dies definiert einen abstrakten Dateinamen für die Geeks-Datei im Verzeichnis /usr/local/bin. Dies ist ein absolut abstrakter Dateiname.



Felder in der Dateiklasse in Java

Feld

Ins-Taste

Typ

Beschreibung

pathSeperator Zeichenfolge das Zeichen oder die Zeichenfolge, die zum Trennen einzelner Pfade in einer Liste von Dateisystempfaden verwendet wird.
pathSeperatorChar Verkohlen das Zeichen, das zum Trennen einzelner Pfade in einer Liste von Dateisystempfaden verwendet wird.
Separator Zeichenfolge Standard-Namenstrennzeichen, dargestellt als Zeichenfolge.
SeparatorChar Verkohlen Standard-Namenstrennzeichen.

Konstruktoren der Java-Dateiklasse

    Datei (übergeordnete Datei, untergeordnete Zeichenfolge): Erstellt eine neue Dateiinstanz aus einem abstrakten übergeordneten Pfadnamen und einer untergeordneten Pfadnamenzeichenfolge. File(String pathname): Erstellt eine neue Dateiinstanz durch Konvertieren der angegebenen Pfadnamenzeichenfolge in einen abstrakten Pfadnamen. File(String parent, String child): Erstellt eine neue Dateiinstanz aus einer übergeordneten Pfadnamenzeichenfolge und einer untergeordneten Pfadnamenzeichenfolge. Datei (URI-URI): Erstellt eine neue Dateiinstanz durch Konvertieren der angegebenen Datei: URI in einen abstrakten Pfadnamen.

Methoden der Dateiklasse in Java

Ja Nein. Methode Beschreibung Rückgabetyp
1. canExecute() Testet, ob die Anwendung die durch diesen abstrakten Pfadnamen angegebene Datei ausführen kann. Boolescher Wert
2. kann lesen() Testet, ob die Anwendung die durch diesen abstrakten Pfadnamen gekennzeichnete Datei lesen kann. Boolescher Wert
3. kann schreiben() Testet, ob die Anwendung die durch diesen abstrakten Pfadnamen angegebene Datei ändern kann. Boolescher Wert
4. CompareTo(Dateipfadname) Vergleicht zwei abstrakte Pfadnamen lexikografisch. int
5. createNewFile() Erstellt atomar eine neue, leere Datei mit dem Namen dieses abstrakten Pfadnamens. Boolescher Wert
6. createTempFile(String-Präfix, String-Suffix) Erstellt eine leere Datei im Standardverzeichnis für temporäre Dateien. Datei
7. löschen() Löscht die durch diesen abstrakten Pfadnamen gekennzeichnete Datei oder das Verzeichnis. Boolescher Wert
8. equal(Objekt obj) Testet diesen abstrakten Pfadnamen auf Gleichheit mit dem angegebenen Objekt. Boolescher Wert
9. existiert() Testet, ob die durch diesen abstrakten Pfadnamen angegebene Datei oder das Verzeichnis existiert. Boolescher Wert
10. getAbsolutePath() Gibt die absolute Pfadnamenzeichenfolge dieses abstrakten Pfadnamens zurück. Zeichenfolge
elf. Liste() Gibt ein Array von Zeichenfolgen zurück, die die Dateien und Verzeichnisse im Verzeichnis benennen. String[]
12. getFreeSpace() Gibt die Anzahl der nicht zugewiesenen Bytes in der Partition zurück. lang
13. getName() Gibt den Namen der Datei oder des Verzeichnisses zurück, die bzw. das durch diesen abstrakten Pfadnamen bezeichnet wird. Zeichenfolge
14. getParent() Gibt die Pfadnamenzeichenfolge des übergeordneten Elements dieses abstrakten Pfadnamens zurück. Zeichenfolge
fünfzehn. getParentFile() Gibt den abstrakten Pfadnamen des übergeordneten Elements dieses abstrakten Pfadnamens zurück. Datei
16. getPath() Konvertiert diesen abstrakten Pfadnamen in eine Pfadnamenzeichenfolge. Zeichenfolge
17. setReadOnly() Markiert die benannte Datei oder das Verzeichnis so, dass nur Lesevorgänge zulässig sind. Boolescher Wert
18. isDirectory() Testet, ob die durch diesen Pfadnamen bezeichnete Datei ein Verzeichnis ist. Boolescher Wert
19. isFile() Testet, ob die durch diesen abstrakten Pfadnamen bezeichnete Datei eine normale Datei ist. Boolescher Wert
zwanzig. ist versteckt() Testet, ob die durch diesen abstrakten Pfadnamen benannte Datei eine versteckte Datei ist. Boolescher Wert
einundzwanzig. Länge() Gibt die Länge der durch diesen abstrakten Pfadnamen bezeichneten Datei zurück. lang
22. listFiles() Gibt ein Array abstrakter Pfadnamen zurück, die die Dateien im Verzeichnis bezeichnen. Datei[]
23. mkdir() Erstellt das durch diesen abstrakten Pfadnamen benannte Verzeichnis. Boolescher Wert
24. renameTo(Dateiziel) Benennt die durch diesen abstrakten Pfadnamen gekennzeichnete Datei um. Boolescher Wert
25. setExecutable(boolesche ausführbare Datei) Eine praktische Methode zum Festlegen der Ausführungsberechtigung des Eigentümers. Boolescher Wert
26. setReadable(boolean lesbar) Eine praktische Methode zum Festlegen der Leseberechtigung des Eigentümers. Boolescher Wert
27. setReadable(boolean readable, booleanownerOnly) Legt die Leseberechtigung des Eigentümers oder aller Personen fest. Boolescher Wert
28. setWritable(boolean beschreibbar) Eine praktische Methode zum Festlegen der Schreibberechtigung des Eigentümers. Boolescher Wert
29. toString() Gibt die Pfadnamenzeichenfolge dieses abstrakten Pfadnamens zurück. Zeichenfolge
30. toURI() Konstruiert einen Datei-URI, der diesen abstrakten Pfadnamen darstellt. TYP

Beispiele für Java-Dateiklassen

Beispiel 1: Programm zum Überprüfen, ob eine Datei oder ein Verzeichnis physisch existiert oder nicht.

Java




Tiger im Vergleich zum Löwen
// 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 sauberer Cache

>

Ausgabe

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>

Beispiel 2: Programm zur Anzeige des gesamten Inhalts eines Verzeichnisses

Hier übernehmen wir einen Verzeichnisnamen über die Tastatur und zeigen dann den gesamten Inhalt des Verzeichnisses an. Zu diesem Zweck kann die Methode list() wie folgt verwendet werden:

String arr[]=f.list();>

In der vorherigen Anweisung bewirkt die Methode list(), dass alle Verzeichniseinträge in das Array kopiert werden arr[] . Übergeben Sie dann diese Array-Elemente arr[i] an das File-Objekt und testen Sie sie, um festzustellen, ob sie eine Datei oder ein Verzeichnis darstellen.

Java




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

>

Wann wurde die Schule erfunden?
>

Ausgabe

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>

Verwandter Beitrag: FileReader und FileWriter in Java