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