Comment obtenir de l’espace disque libre en Java

Comment obtenir de l'espace disque libre en Java

Dans l'ancien temps de Java, il manquait de méthode pour déterminer l'espace disque libre sur une partition. Mais cela a changé depuis la sortie du JDK 1.6, quelques nouvelles méthodes -getTotalSpace(),getUsableSpace() etgetFreeSpace(), sont fournies avec java.io.File pour récupérer les détails de la partition ou de l'espace disque.

Exemple

package com.example;

import java.io.File;

public class DiskSpaceDetail
{
    public static void main(String[] args)
    {
        File file = new File("c:");
        long totalSpace = file.getTotalSpace(); //total disk space in bytes.
        long usableSpace = file.getUsableSpace(); ///unallocated / free disk space in bytes.
        long freeSpace = file.getFreeSpace(); //unallocated / free disk space in bytes.

        System.out.println(" === Partition Detail ===");

        System.out.println(" === bytes ===");
        System.out.println("Total size : " + totalSpace + " bytes");
        System.out.println("Space free : " + usableSpace + " bytes");
        System.out.println("Space free : " + freeSpace + " bytes");

        System.out.println(" === mega bytes ===");
        System.out.println("Total size : " + totalSpace /1024 /1024 + " mb");
        System.out.println("Space free : " + usableSpace /1024 /1024 + " mb");
        System.out.println("Space free : " + freeSpace /1024 /1024 + " mb");
    }
}

Sortie

Affichez le détail de l'espace disque dans la partitionc:.

 === Partition Detail ===

 === bytes ===
Total size : 52428795904 bytes
Space free : 33677811712 bytes
Space free : 33677811712 bytes
 === mega bytes ===
Total size : 49999 mb
Space free : 32117 mb
Space free : 32117 mb

Note
Les méthodesgetFreeSpace() etgetUsableSpace() renvoient le même espace disque libre total d'une partition donnée. Mais la vraie différence n'est pas claire, même dans la documentation java. Dites-moi si vous savez quelle est la différence entre les deux.