Maison  >  Article  >  Java  >  Comment calculer la taille d’un dossier ou d’un fichier en Java ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 20:52:02134parcourir

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

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

La nécessité de déterminer la taille d'un fichier ou d'un dossier est une tâche courante dans diverses applications logicielles. En Java, il existe des méthodes simples pour y parvenir.

Récupération de la taille du fichier

La détermination de la taille d'un fichier est réalisée à l'aide de java.io.File. Le code suivant démontre son utilisation :

<code class="java">java.io.File file = new java.io.File("myfile.txt");
file.length();</code>

La méthode length() renvoie la taille du fichier en octets. Si le fichier spécifié n'existe pas, il renvoie 0.

Calcul de la taille du dossier

Contrairement aux fichiers, les dossiers n'ont pas de propriété de taille inhérente à Java. Pour obtenir la taille d'un dossier, vous devez parcourir son arborescence de répertoires de manière récursive. Le code suivant illustre cette approche :

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

Cette méthode accumule les tailles de tous les fichiers et sous-répertoires dans le dossier spécifié.

Attention : Notez que cette méthode suppose une structure de répertoires simple. Il ne tient pas compte des liens symboliques ou des modes de défaillance potentiels. Pour les applications de production, envisagez d’utiliser des méthodes plus robustes.

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