Maison  >  Article  >  Java  >  Comment obtenir la taille des fichiers et des dossiers en Java : un guide étape par étape

Comment obtenir la taille des fichiers et des dossiers en Java : un guide étape par étape

DDD
DDDoriginal
2024-10-27 09:47:30241parcourir

How to Get File and Folder Sizes in Java: A Step-by-Step Guide

Accès à la taille des fichiers et des dossiers en Java

Déterminer la taille des fichiers et des dossiers est une tâche courante en programmation. En Java, effectuer cette tâche implique différentes approches selon que la cible est un fichier ou un dossier.

Pour les fichiers, le processus est simple. À l'aide de la classe « java.io.File », vous pouvez créer une instance représentant le fichier qui vous intéresse. La méthode 'length()' de cette instance renverra la taille du fichier en octets. Si le fichier n'existe pas, une valeur de 0 sera renvoyée.

Récupérer la taille d'un dossier est plus complexe car il n'existe pas de méthode intégrée pour y parvenir directement. Au lieu de cela, vous devez utiliser une approche récursive. Créez une méthode, telle que « folderSize() », qui accepte un répertoire en entrée. Dans cette méthode, parcourez le contenu du répertoire à l'aide de la méthode 'listFiles()'. Pour chaque élément, s'il s'agit d'un fichier, ajoutez sa taille à la variable accumulateur. S'il s'agit d'un sous-répertoire, appelez récursivement 'folderSize()' avec ce sous-répertoire comme argument. La valeur accumulée représente la taille du dossier.

Vous trouverez ci-dessous un exemple d'implémentation de la méthode 'folderSize()' :

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;
}

Attention : Cette implémentation ne ne tient pas compte des erreurs potentielles telles que le contenu nul du répertoire ou les liens symboliques. Pour garantir la robustesse des applications de production, des implémentations plus robustes doivent être envisagées.

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!

Déclaration:
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