Maison > Java > javaDidacticiel > Comment calculer efficacement la taille d'un fichier ou d'un dossier en Java ?

Comment calculer efficacement la taille d'un fichier ou d'un dossier en Java ?

Susan Sarandon
Libérer: 2024-10-29 10:18:02
original
912 Les gens l'ont consulté

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

Obtenir la taille d'un fichier ou d'un dossier en Java

Récupérer la taille d'un fichier ou d'un dossier est une tâche courante lorsque l'on travaille avec des fichiers en Java. Voici comment le faire efficacement :

Obtenir la taille du fichier

Pour obtenir la taille d'un fichier, vous pouvez utiliser la méthode length() sur un java.io Objet .Fichier. Cela renvoie la longueur du fichier en octets ou 0 si le fichier n'existe pas.

<code class="java">java.io.File file = new java.io.File("myfile.txt");
file.length();</code>
Copier après la connexion

Obtenir la taille du dossier

Obtenir la taille d'un dossier n'est pas aussi simple que d'obtenir la taille d'un fichier. Il n’existe aucun moyen intégré de le faire en Java. Au lieu de cela, vous devez parcourir l'arborescence des répertoires de manière récursive, en accumulant la taille du dossier pour chaque sous-répertoire et fichier :

<code class="java">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;
}</code>
Copier après la connexion

Attention : La méthode ci-dessus peut rencontrer des problèmes si directory.listFiles() renvoie null ou s'il y a des liens symboliques présents.

Alternative :

Pour un calcul plus robuste de la taille du dossier, envisagez d'utiliser une bibliothèque tierce comme JWalk ou Apache Commons IO . Ces bibliothèques fournissent des solutions plus fiables et complètes pour calculer la taille des dossiers en Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal