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

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

DDD
DDDoriginal
2024-10-30 21:21:30189parcourir

How to Calculate the Size of a File or Folder in Java?

Calcul de la taille des fichiers et des dossiers en Java

Déterminer la taille des fichiers et des dossiers est une tâche fondamentale en programmation. Java fournit des méthodes pratiques pour récupérer ces informations.

Récupération de la taille du fichier

Pour obtenir la taille d'un fichier, utilisez la classe File :

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

Cette méthode renvoie la taille du fichier en octets ou 0 si le fichier n'existe pas.

Calcul de la taille du dossier

Java ne fournit pas de mécanisme direct pour déterminer la taille d'un dossier. Pour ce faire, nous pouvons parcourir de manière récursive l’arborescence des répertoires en utilisant la méthode listFiles(). Voici un exemple de fonction :

<code class="java">public static long folderSize(File directory) {
    long size = 0;
    for (File file : directory.listFiles()) {
        if (file.isFile())
            size += file.length();
        else
            size += folderSize(file);
    }
    return size;
}</code>

Cette fonction calcule la taille du dossier en ajoutant récursivement les tailles de ses fichiers et sous-dossiers.

Attention :

Notez que la méthode FolderSize() a des limites. Il peut rencontrer des références nulles de listFiles() et ignorer les liens symboliques. Pour des résultats fiables, envisagez d'utiliser une implémentation robuste conçue pour une utilisation en production.

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