„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie berechnet man effizient die Größe einer Datei oder eines Ordners in Java?

Wie berechnet man effizient die Größe einer Datei oder eines Ordners in Java?

Veröffentlicht am 08.11.2024
Durchsuche:321

How do you efficiently calculate the size of a file or folder in Java?

Ermitteln der Größe einer Datei oder eines Ordners in Java

Das Abrufen der Größe einer Datei oder eines Ordners ist eine häufige Aufgabe bei der Arbeit mit Dateien in Java. So können Sie es effektiv machen:

Dateigröße ermitteln

Um die Größe einer Datei zu ermitteln, können Sie die Methode length() auf einem java.io verwenden .File-Objekt. Dies gibt die Länge der Datei in Bytes oder 0 zurück, wenn die Datei nicht existiert.

java.io.File file = new java.io.File("myfile.txt");
file.length();

Ordnergröße ermitteln

Die Größe eines Ordners zu ermitteln ist nicht so einfach wie die Größe einer Datei. In Java gibt es dafür keine integrierte Möglichkeit. Stattdessen müssen Sie den Verzeichnisbaum rekursiv durchgehen und dabei die Ordnergröße für jedes Unterverzeichnis und jede Datei akkumulieren:

public static long folderSize(File directory) {
    long length = 0;
    for (File file : directory.listFiles()) {
        if (file.isFile())
            length  = file.length();
        else
            length  = folderSize(file);
    }
    return length;
}

Achtung: Bei der oben genannten Methode können Probleme auftreten, wenn „directory.listFiles()“ null zurückgibt oder wenn symbolische Links vorhanden sind.

Alternative:

Für eine zuverlässigere Berechnung der Ordnergröße sollten Sie die Verwendung einer Drittanbieterbibliothek wie JWalk oder Apache Commons IO in Betracht ziehen. Diese Bibliotheken bieten zuverlässigere und umfassendere Lösungen zur Berechnung der Ordnergröße in Java.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3