Class FileUtil
Diese Klasse bietet statische Methoden zum Löschen von Verzeichnissen, Suchen von Dateien nach Erweiterung oder Namen, Extrahieren von Dateinamen und Erweiterungen, Pfadverwaltung sowie Konvertierung von Dateigröße in lesbare Formate.
Die Klasse ist nicht instanziierbar und kann nur über ihre statischen Methoden verwendet werden.
- Author:
- Steffen Wilke, Matthias Wilke, Josef Friedrich
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringDiese Methode kombiniert den angegebenen Pfad mit den als Argumente übergebenen Pfadsegmenten.static voidErstellt ein Verzeichnis unter dem angegebenen Pfad, falls dieses noch nicht existiert.static StringErstellt eine temporäre Datei im Standard-Temporärverzeichnis des Systems.static voidLöscht ein Verzeichnis und seinen gesamten Inhalt rekursiv.static voidLöscht ein Verzeichnis und seinen gesamten Inhalt rekursiv.static booleanÜberprüft, ob eine Datei am angegebenen Dateipfad existiert.Durchsucht rekursiv ein Verzeichnis und seine Unterverzeichnisse nach Dateien mit bestimmten Namen.findFilesByExtension(List<String> fileNames, Path dir, String extension) Sucht rekursiv nach Dateien mit einer bestimmten Dateiendung in einem Verzeichnis.static StringgetExtension(File file) Ermittelt die Dateiendung einer Datei.static StringgetExtension(String path) Extrahiert die Dateiendung aus einem gegebenen Dateipfad.static StringgetFileName(String path) Gibt den Dateinamen eines Pfades ohne die Dateierweiterung zurück.static StringgetFileName(String path, boolean extension) Gibt den Dateinamen eines Pfades mit oder ohne Dateierweiterung zurück.static StringgetFileName(URL path) Gibt den Dateinamen eines Pfades ohne Dateierweiterung zurück.static StringgetFileName(Path path) Gibt den Dateinamen eines Pfades ohne Dateierweiterung zurück.static StringGibt das Heimverzeichnis des aktuellen Benutzers zurück.static StringgetParentDirPath(String uri) Gibt den Pfad des übergeordneten Verzeichnisses für den angegebenen URI oder Dateipfad zurück.static StringgetParentDirPath(URI uri) Gibt den Pfad des übergeordneten Verzeichnisses einer URI zurück.static StringErmittelt den Pfad zum Bilderordner des Benutzers.static StringGibt den Pfad zum temporären Verzeichnis des Systems zurück.static StringErmittelt das Verzeichnis für Videos im Home-Verzeichnis des Benutzers.static StringhumanReadableByteCount(long bytes) Wandelt eine Anzahl von Bytes in eine menschenlesbare Darstellung um.static StringhumanReadableByteCount(long bytes, boolean decimal) Konvertiert eine Byte-Anzahl in eine menschenlesbare Darstellung mit entsprechenden Einheiten.static StringnormalizePath(String path) Ersetzt im gegebenen Dateipfad alle Schrägstriche (Slashes) und Gegenschrägstriche (Backslashes) mit dem Zeichen des AttributsFile.separator.
-
Method Details
-
deleteDir
Löscht ein Verzeichnis und seinen gesamten Inhalt rekursiv.Diese Methode entfernt das angegebene Verzeichnis sowie alle darin enthaltenen Dateien und Unterverzeichnisse. Der Löschvorgang erfolgt rekursiv von unten nach oben.
- Parameters:
dir- Das zu löschende Verzeichnis.
-
deleteDir
Löscht ein Verzeichnis und seinen gesamten Inhalt rekursiv.Diese Methode entfernt das angegebene Verzeichnis sowie alle darin enthaltenen Dateien und Unterverzeichnisse. Der Löschvorgang erfolgt rekursiv von unten nach oben.
- Parameters:
dir- Das zu löschende Verzeichnis als Zeichenkette.- Since:
- 0.42.0
-
findFilesByExtension
Sucht rekursiv nach Dateien mit einer bestimmten Dateiendung in einem Verzeichnis.Die Methode durchsucht das angegebene Verzeichnis und alle Unterverzeichnisse (außer blacklisteten Verzeichnissen) nach Dateien, die mit der angegebenen Endung übereinstimmen. Gefundene Dateien werden zur übergebenen Liste hinzugefügt.
- Parameters:
fileNames- Die Liste, in der gefundene Dateipfade gesammelt werden. Diese Liste wird mit absoluten Pfaden ergänzt.dir- Das Startverzeichnis, ab dem die Suche beginntextension- Die gesuchte Dateiendung (z.B. ".java", ".txt"). Der Vergleich erfolgt mitendsWith()- Returns:
- Die übergebene
fileNamesListe mit allen gefundenen Dateien. Bei Fehler beim Lesen des Verzeichnisses wird die teilweise gefüllte Liste zurückgegeben und der Fehler geloggt - See Also:
-
isBlackListedDirectory(Path)
-
findFiles
Durchsucht rekursiv ein Verzeichnis und seine Unterverzeichnisse nach Dateien mit bestimmten Namen.- Parameters:
fileNames- Eine Liste, in der die gefundenen Dateipfade gespeichert werden.dir- Das Startverzeichnis, das durchsucht werden soll.files- Eine beliebige Anzahl von Dateinamen oder Dateisuffixen, nach denen gesucht werden soll.- Returns:
- die übergebene Liste
fileNames, gefüllt mit den absoluten Pfaden der gefundenen Dateien.
-
getExtension
Ermittelt die Dateiendung einer Datei.- Parameters:
file- Die Datei, deren Endung bestimmt werden soll.- Returns:
- Die Dateiendung der angegebenen Datei.
-
getExtension
Extrahiert die Dateiendung aus einem gegebenen Dateipfad.- Parameters:
path- Der Dateipfad, aus dem die Endung extrahiert werden soll.- Returns:
- Die Dateiendung ohne den Punkt (z.B. "txt", "java"), oder eine leere Zeichenkette, falls keine Endung vorhanden ist oder ein Fehler bei der Verarbeitung auftritt.
-
getFileName
Gibt den Dateinamen eines Pfades mit oder ohne Dateierweiterung zurück.Endet der Pfad mit einem Pfadtrennzeichen, so wird eine leere Zeichenkette zurückgegeben.
- Parameters:
path- Der Dateipfad angegeben als Zeichenkette.extension- Ob die Dateierweiterung im Dateinamen erhalten bleiben soll oder nicht.- Returns:
- Der Dateiname mit oder ohne Dateierweiterung je nach Eingabeparameter.
-
getFileName
Gibt den Dateinamen eines Pfades ohne die Dateierweiterung zurück.Endet der Pfad mit einem Pfadtrennzeichen, so wird eine leere Zeichenkette zurückgegeben.
- Parameters:
path- Der Dateipfad angegeben als Zeichenkette.- Returns:
- Der Dateiname ohne Dateierweiterung.
-
getFileName
Gibt den Dateinamen eines Pfades ohne Dateierweiterung zurück.Endet der Pfad mit einem Pfadtrennzeichen, so wird eine leere Zeichenkette zurückgegeben.
- Parameters:
path- Der Dateipfad.- Returns:
- Der Dateiname ohne Dateierweiterung.
-
getFileName
Gibt den Dateinamen eines Pfades ohne Dateierweiterung zurück.Endet der Pfad mit einem Pfadtrennzeichen, so wird eine leere Zeichenkette zurückgegeben.
- Parameters:
path- Der Dateipfad.- Returns:
- Der Dateiname ohne Dateierweiterung.
-
getParentDirPath
Gibt den Pfad des übergeordneten Verzeichnisses für den angegebenen URI oder Dateipfad zurück.Die Methode versucht zunächst, den Input als URI zu interpretieren. Falls dies fehlschlägt, wird der Input als Dateipfad behandelt.
- Parameters:
uri- Der URI oder Dateipfad, dessen übergeordnetes Verzeichnis bestimmt werden soll.- Returns:
- Der Pfad des übergeordneten Verzeichnisses mit nachgestelltem Dateitrenner, oder der ursprüngliche Input, falls dieser null oder leer ist.
- Throws:
NullPointerException- wenn das übergeordnete Verzeichnis null ist
-
getParentDirPath
Gibt den Pfad des übergeordneten Verzeichnisses einer URI zurück.Wenn der Pfad der URI mit einem Datei-Trennzeichen endet, wird das übergeordnete Verzeichnis durch Auflösen von ".." ermittelt. Ansonsten wird das aktuelle Verzeichnis durch Auflösen von "." verwendet.
- Parameters:
uri- Die URI, deren übergeordnetes Verzeichnis ermittelt werden soll.- Returns:
- Der Pfad des übergeordneten Verzeichnisses als Zeichenkette.
-
combine
Diese Methode kombiniert den angegebenen Pfad mit den als Argumente übergebenen Pfadsegmenten.Der zurückgegebene Pfad verwendet das Pfadtrennzeichen des aktuellen Systems. Diese Methode normalisiert Windows-Pfadtrennzeichen zu Unix-Trennzeichen.
- Parameters:
basePath- der Basispfad, der als Ausgangspunkt dient (nicht null)paths- variable Anzahl von Pfadkomponenten, die kombiniert werden sollen. Null-Werte werden ignoriert.- Returns:
- der kombinierte Pfad als String. Bei Auftreten einer URISyntaxException wird der Basispfad zurückgegeben.
-
humanReadableByteCount
Wandelt eine Anzahl von Bytes in eine menschenlesbare Darstellung um.- Parameters:
bytes- die Anzahl der Bytes, die formatiert werden sollen- Returns:
- eine menschenlesbare String-Darstellung der Bytegröße (z.B. "1.5 KB", "2.3 MB")
-
humanReadableByteCount
Konvertiert eine Byte-Anzahl in eine menschenlesbare Darstellung mit entsprechenden Einheiten.- Parameters:
bytes- Die Anzahl der Bytes, die formatiert werden sollendecimal- Wenn true, werden Dezimalpräfixe (1000er-Basis) verwendet (KB, MB, GB, etc.), wenn false, werden Binärpräfixe (1024er-Basis) verwendet (KiB, MiB, GiB, etc.)- Returns:
- Eine formatierte Zeichenkette mit der Byte-Anzahl und der entsprechenden Einheit. Beispiele: "1.5 KB", "2.3 GiB", "512 bytes"
-
normalizePath
Ersetzt im gegebenen Dateipfad alle Schrägstriche (Slashes) und Gegenschrägstriche (Backslashes) mit dem Zeichen des AttributsFile.separator.- Parameters:
path- Ein Dateipfad, der Schrägstriche oder Gegenschrägstriche enthalten kann.- Returns:
- Der normalisierte Dateipfad.
-
exists
Überprüft, ob eine Datei am angegebenen Dateipfad existiert.- Parameters:
filePath- Der Pfad zur zu überprüfenden Datei.- Returns:
true, wenn die Datei existiert;false, wenn die Datei nicht existiert oder ein Fehler beim Laden der Resource aufgetreten ist
-
getHomeDir
Gibt das Heimverzeichnis des aktuellen Benutzers zurück.- Returns:
- Das Heimverzeichnis des aktuellen Benutzers als Zeichenkette
-
getTmpDir
Gibt den Pfad zum temporären Verzeichnis des Systems zurück.- Returns:
- Der absolute Pfad zum temporären Verzeichnis als Zeichenkette.
- Since:
- 0.42.0
-
createTmpFile
Erstellt eine temporäre Datei im Standard-Temporärverzeichnis des Systems.- Returns:
- Der absolute Pfad zur erstellten temporären Datei als String, zum
Beispiel
"/tmp/5601360254473891177.tmp" - Throws:
RuntimeException- wenn einIOExceptionbeim Erstellen der Datei auftritt
-
getPicturesDir
Ermittelt den Pfad zum Bilderordner des Benutzers.Überprüft zunächst, ob ein „Pictures“ oder „Bilder“ Ordner im Benutzerverzeichnis existiert. Falls keiner der beiden Ordner existiert, wird automatisch ein „Pictures“ Ordner erstellt.
- Returns:
- Der absolute Pfad zum Bilderordner des Benutzers
- Since:
- 0.42.0
-
getVideosDir
Ermittelt das Verzeichnis für Videos im Home-Verzeichnis des Benutzers.Diese Methode überprüft, ob ein "Videos"-Ordner im Home-Verzeichnis existiert. Falls das Verzeichnis nicht vorhanden ist, wird es automatisch erstellt.
- Returns:
- Der absolute Pfad zum Videos-Verzeichnis als Zeichenkette.
- Since:
- 0.42.0
-
createDir
Erstellt ein Verzeichnis unter dem angegebenen Pfad, falls dieses noch nicht existiert.Wenn das Verzeichnis bereits vorhanden ist, wird keine Aktion ausgeführt.
- Parameters:
dirpath- Der Pfad des zu erstellenden Verzeichnisses als Zeichenkette.
-