Comment trouver combien d'espace disque reste en utilisant Java?
Question
Comment trouver combien d’espace disque reste-t-il avec Java?
La solution
Il suffit de regarder la classe de fichiers documentation . C’est l’une des nouvelles fonctionnalités de la version 1.6.
Ces nouvelles méthodes incluent également:
-
public long getTotalSpace()
-
public long getFreeSpace()
-
public long getUsableSpace()
Si vous utilisez toujours la version 1.5, vous pouvez utiliser la bibliothèque Apache Commons IO . et son classe FileSystem
Autres conseils
Java 1.7 a une API légèrement différente, l’espace libre peut être interrogé via FileStore dans la getTotalSpace () , getUnallocatedSpace ( ) et getUsableSpace () méthodes.
NumberFormat nf = NumberFormat.getNumberInstance();
for (Path root : FileSystems.getDefault().getRootDirectories()) {
System.out.print(root + ": ");
try {
FileStore store = Files.getFileStore(root);
System.out.println("available=" + nf.format(store.getUsableSpace())
+ ", total=" + nf.format(store.getTotalSpace()));
} catch (IOException e) {
System.out.println("error querying space: " + e.toString());
}
}
L'avantage de cette API est que vous obtenez des exceptions significatives lorsque la requête d'espace disque échoue.
Utilisez CommonsIO et FilesystemUtils:
par exemple.
FileSystemUtils.freeSpaceKb("/");
ou intégré au JDK:
http: // java .sun.com / javase / 6 / docs / api / java / io / File.html # getFreeSpace ()
new File("/").getFreeSpace();
Si vous êtes un programmeur Java, vous pouvez ont déjà été demandé cette simple, question stupide: & # 8220; comment trouver le espace disque disponible sur mon système? & # 8221 ;. Le problème est que la réponse est dépendant du système. En fait, c’est le la mise en œuvre qui est le système dépendant. Et jusqu'à tout récemment, il n'y avait pas de solution unique pour répondre cette question, bien que la nécessité ait été enregistré dans la base de données de bogues de Sun & # 8217; depuis juin 1997. Il est maintenant possible de obtenir de l'espace disque libre dans Java 6 avec une méthode dans la classe File, qui renvoie le nombre de non alloués octets dans la partition nommée par le nom du chemin abstrait. Mais vous pourriez être intéressé par l'espace disque utilisable (celui qui est en écriture). C'est même possible d'obtenir l'espace disque total d'une partition avec la méthode getTotalSpace ().
lors de la vérification de l'espace disque à l'aide de Java, la méthode suivante est utilisée dans la classe de fichier java.io
- getTotalSpace ()
- getFreeSpace ()
qui vous aidera certainement à obtenir les informations requises. Par exemple, vous pouvez vous référer à http: // javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/ qui donne un exemple concret en utilisant ces méthodes.
public class MemoryStatus{
public static void main(String args[])throws Exception{
Runtime r=Runtime.getRuntime();
System.out.println("Total Memory: "+r.totalMemory());
System.out.println("Free Memory: "+r.freeMemory());
}
}
Essayez ce code pour obtenir de l'espace disque