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.